johnnywang has asked for the wisdom of the Perl Monks concerning the following question:
of course if you do $b->{1} = 2, you will get an error. How do I find out that $a is a hash ref, while $b is a array ref?use strict; package A; sub new{ bless {},shift; } package B; sub new{ bless [], shift; } package main; my $a = A->new; my $b = B->new; my $c = {}; my $d = []; print "\$a is of type: ", ref($a), "\n"; print "\$b is of type: ", ref($b), "\n"; print "\$c is of type: ", ref($c), "\n"; print "\$d is of type: ", ref($d), "\n"; __OUTPUT__ $a is of type: A $b is of type: B $c is of type: HASH $d is of type: ARRAY
|
|---|