use strict;
use warnings;
use Tk;
my $mw = MainWindow->new (-title => 'Hello World');
my @arr=('first', 'second', 'third');
my %hash = (A => 100, B => 200, C => [@arr], D => \&hi, E => $mw);
$hash{'A'}=100;
$hash{'B'}=200;
$hash{'C'}=[@arr];
for (sort keys %hash) {
print "$_ => ";
if (ref($hash{$_}) eq 'ARRAY') {
print "Array: ", join(', ', @{ $hash{$_} });
}
elsif (ref($hash{$_}) eq 'HASH') {
# do something else
print "Hash: ...";
}
else {
print "Scalar: $hash{$_}";
}
print "\n";
}
sub hi {
print "hello World";
}
####
A => Scalar: 100
B => Scalar: 200
C => Array: first, second, third
D => Scalar: CODE(0x21bdf50)
E => Scalar: MainWindow=HASH(0x21d97ac)
####
elsif (ref($hash{$_})) {
print "Unknown ref: $hash{$_}";
####
A => Scalar: 100
B => Scalar: 200
C => Array: first, second, third
D => Unknown ref: CODE(0x21be538)
E => Unknown ref: MainWindow=HASH(0x21d9e38)