At 12:05 AM 7/24/2006, Chris Wagner wrote:
It's better to not use strict or use no strict vars.  undef is a perfectly
legitimate variable value.

Bad advice - you should always "use strict".

More importantly, the problem is not "use strict", but "use warnings". In this case, I assume that it's being picked up from the '-w' on the shebang line (i.e. '#!/usr/bin/perl -w'). The fact that your data is coming from a database also has nothing to do with the problem. I do all my programming under Windows (not so much by choice), so I never use a shebang line, but you can try the following to see what I mean (if you need to have a shebang line, remove the -w first):

my @values = ('1', undef, '2');
print(@values, "\n");

use strict;
my @values = ('1', undef, '2');
print(@values, "\n");

use strict;
use warnings;
my @values = ('1', undef, '2');
print(@values, "\n");

use strict;
use warnings;
no warnings 'uninitialized';
my @values = ('1', undef, '2');
print(@values, "\n");

You'll find that only the third one - with the "use warnings" but not "no warnings 'uninitialized'", causes the warning "Use of uninitialized value...". Note that you can selectively turn off certain warnings, as in the fourth version. That's what I'd recommend, though you'll probably find yourself turning off several different warnings before you get the best setup.

The best source for what the possible warnings are, and how to turn individual ones off, is the perldiag man page. If you're using ActivePerl for Windows, open a browser, and in it, open the file c:\Perl\html\index.html (modify the path according to where you installed Perl). Then, find 'perldiag' in the menu on the left. It lists all warning messages, and the identifier to use with "no warnings" to turn it off.

Perhaps someone who uses Linux/Unix can post how to get to this page, perhaps something like "man perldiag" or "man perl perldiag"?

At 07:53 PM 7/23/2006 -0500, Eric Edwards wrote:
>Eric Edwards replied:
>Charles,
>That was the problem.  In my table there is one field that is blank a lot of
>the time and it showed as 'undef' when I ran the 'Dumper'.
>So, I added a default value to that field and the warning did not come up.





--
REMEMBER THE WORLD TRADE CENTER         ---=< WTC 911 >=--
"...ne cede malis"

00000100

_______________________________________________
Perl-Win32-Users mailing list
Perl-Win32-Users@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs


Scanned for Spam and Viruses.
PCG Information Technology Services.
_______________________________________________
Perl-Win32-Users mailing list
Perl-Win32-Users@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to