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)"
In reply to Re^5: ref eq "REF"
by edan
in thread ref == "REF"
by gaal
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |