If it's for debugging, another way to tell the difference between the empty string and an undef value is to use Data::Dumper or Data::Dump. The first one requires no installation, but one of the reasons I like the second one better is because it displays non-printable character explicitly with escape sequences by default (it's the Useqq option in Data::Dumper), so it helps tell the difference between undef, "", "\n" or even "\0". As far as I'm concerned, whenever it's for debugging I don't print it I dump it.
Edit: eg:
use Data::Dump qw( pp ); pp undef; pp ""; pp "\n"; pp "\0";
NB: of course those two modules are also useful for displaying complex data structures.
In reply to Re: Undefined scalar
by Eily
in thread Undefined scalar
by Nicpetbio23!
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |