Hi All,
I am unsure if the following statement is going to do what I want.
I want to test if there is a value in $hash_ref{'someval'} NOT if the
key is defined. I'd also like to avoid un-sightly "undefined value"
errors.
So which of the following is best:
if (defined($hash_ref{'someval'}) {}
or is
if ($hash_ref{'someval'} =~ /\w+/) {} # I am expecting a string.
or
if (! $hash_ref{'someval'} ) {}
Thanks,
Dp.
use strict;
use warnings;
use Test::Simple tests => 3;
my $ref_one = {
'reference' => '',
'expect' => 1,
};
my $ref_two = {
'reference' => undef,
'expect' => undef,
};
my $ref_three = {
'reference' => 'some string',
'expect' => 1,
};
my @tests = ($ref_one, $ref_two, $ref_three);
foreach my $t (@tests) {
my $got = defined( $t->{'reference'} );
ok( $got eq $t->{'expect'}, 'Defined');
}
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
http://learn.perl.org/