in reply to Undefined scalar
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.
|
---|