In trying to build the Curses module, when I execute
"perl Makefile.PL" I get a "Use of uninitialized value"
error
That line is not an error, it's a warning. The distinction can be an
important one.
for the line "my $mf = <<EOM;"
Just because that happens to be the line the perl interpreter reported,
doesn't necessarily mean that's the exact line that contains the
uninitialized value. The full section from Curses' Makefile.PL is:
my $mf = <<EOM;
CursesDef.h: c-config.h Makefile.PL list.syms
\$(PERL) test.syms $panels $menus $forms
c-config.h:
@ $echo "You need to make a c-config.h. See the INSTALL document.";
@ exit 1
cdemo: cdemo.o c-config.h
EOM
There are four different variables in this statement, any one of which
may be the uninitialized one the interpreter is reporting.
Apparently in our
migration to a new (AIX) host in which we also went from Perl
5.6 to Perl 5.8, something fell through the cracks, because
this error didn't occur on the old system. What should
I tell our sysadmin?
First thing I would check is to see if they ran `perl Makefile.PL`
correctly. The comments at the top of the file suggest this usage:
# Here are the arguments defined for this file:
#
# PANELS -- enable panel functions
# MENUS -- enable menus functions
# FORMS -- enable forms functions
# GEN -- add generation function to Makefile (developers only!)
#
# Ex: "perl Makefile.PL PANELS MENUS GEN"
Hope that helps point you in the right direction.
Paul Lalli