Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked


by gods
on Aug 24, 1999 at 22:42 UTC ( #253=perlfunc: print w/ replies, xml ) Need Help??


See the current Perl documentation for exists.

Here is our local, out-dated (pre-5.6) version:

exists - test whether a hash key is present

exists EXPR

Returns TRUE if the specified hash key exists in its hash array, even if the corresponding value is undefined.

    print "Exists\n" if exists $array{$key};
    print "Defined\n" if defined $array{$key};
    print "True\n" if $array{$key};

A hash element can be TRUE only if it's defined, and defined if it exists, but the reverse doesn't necessarily hold true.

Note that the EXPR can be arbitrarily complicated as long as the final operation is a hash key lookup:

    if (exists $ref->{"A"}{"B"}{$key}) { ... }

Although the last element will not spring into existence just because its existence was tested, intervening ones will. Thus $ref->{"A"} $ref->{"B"} will spring into existence due to the existence test for a $key element. This autovivification may be fixed in a later release.

Log In?

What's my password?
Create A New User
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (2)
As of 2015-10-10 13:36 GMT
Find Nodes?
    Voting Booth?

    Does Humor Belong in Programming?

    Results (257 votes), past polls