in reply to defined vs null string
I had not used the 'warning' or 'strict' just to see what happens to uninitialized variables
I misunderstood (as has been rightly pointed out) 'defined' to mean existence of a variable.
I had given the example so that I could get a real understanding of how defined and undef are used in Perl more in a general way. I must say, I am wiser.
However, there is this one specific situation where I make use of 'defined'.
I write small CGI/Perl programs from time to time. I would do something like the following, without having given much thought to it.
my $query = CGI->new; my $p = $query->param('VAR'); if (defined $p && $p ne "") { # To see if $p had non-null value # Do something }
Now the call to param would return 'undef' if VAR was not passed in to the CGI script. However, VAR could have been passed an empty string. In this case though, I am assuming the $p would be initialized to "". So $p could be undef or ""
Without my understanding of how variables are initialized in Perl (with my exposure to C), I always wondered whether the 'If' statement above made sense. In other words, did I need to test for both 'defined' and null string.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: defined vs null string
by matyasbot (Sexton) on Aug 31, 2011 at 21:13 UTC |