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
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|