http://qs321.pair.com?node_id=932210


in reply to how to dereference anonymous array

my @unholy_mix_of_scalars_and_arrayrefs = ( 'BLACK', [ qw( blue green red yellow ) ], 'FOO', [ qw( bar baz qux kibble ) ], ); for my $scalar_or_ref ( @unholy_mix_of_scalars_and_arrayrefs ) { my $type = ref $scalar_or_ref; if ( not defined $type) { print "undef!\n"; } elsif ( $type eq '' ) { print "scalar : $scalar_or_ref\n"; } elsif ( $type eq 'ARRAY' ) { print "arrayref: @$scalar_or_ref\n"; } else { print "unhandled reftype '$type': $scalar_or_ref\n"; } } # Maybe you meant this instead? my %sane_hash = ( 'BLACK' => [ qw( blue green red yellow ) ], 'FOO' => [ qw( bar baz qux kibble ) ], ); for my $key ( sort keys %sane_hash ) { print "key $key, array: @{$sane_hash{$key}}\n"; }
Output:
scalar  : BLACK
arrayref: blue green red yellow
scalar  : FOO
arrayref: bar baz qux kibble
key BLACK, array: blue green red yellow
key FOO, array: bar baz qux kibble