in reply to Re^4: ref eq "REF"
in thread ref == "REF"
Sorry, I'm lost. Either I'm not understanding you, or you're not understanding me, or most likely both :)
The function ref is used to determine if its argument is a reference: if ref returns a true value, then its argument is a reference to something, right?
As an added bonus, it tells you what that reference is referring to. Therefore the following code makes everyone happy, right?
#!perl -l my $s = "foo"; # a scalar print ref($s); # prints nothing: $s is a scalar, not a ref my $sr = \$s; # a reference to a scalar print ref($sr); # prints SCALAR my %h; # a hash print ref(%h); # prints nothing: %h is a hash, not a ref my $hr = \%h; # a reference to a hash print ref($hr); # prints HASH my $hrr = \$hr; # a reference to a reference to a hash print ref($hrr); # prints REF
So the precise meaning of REF is "a reference to a reference (to anything - sorry, it only goes one level deep)"
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^6: ref eq "REF"
by gaal (Parson) on Oct 18, 2004 at 15:53 UTC | |
by revdiablo (Prior) on Oct 18, 2004 at 20:09 UTC | |
by gaal (Parson) on Oct 18, 2004 at 20:31 UTC | |
by revdiablo (Prior) on Oct 18, 2004 at 23:18 UTC | |
by gaal (Parson) on Oct 19, 2004 at 10:00 UTC |