- but it only works for hashes.
As of Perl 5.6.0, the exists function can be used on arrays to test the existence of an element within an array. For example:
my %hash = ( 'key' => 'value' );
print "exists \$hash{'key'}\n" if exists $hash{'key'};
my @array = ( 'value' );
print "exists \$array[\$index]\n" if exists $array[0];
Under Perl 5.005.03 this code results in an error:
exists operator argument is not a HASH element at test-5.00503.perl li
+ne 7.
Whereas, under Perl 5.6.0 or later, the code executes without error:
exists $hash{'key'}
exists $array[$index]
Cool huh? Much nicer than using a construct like ($index <= $#array) to test the existence of an array element - Especially if someone is performing magic with $[ !
perl -e 'print+unpack("N",pack("B32","00000000000000000000000111010111")),"\n"'
|