У меня есть этот script
#!/usr/bin/perl
use warnings;
use strict;
use Data::Dumper;
my %x1 = ();
$x1{"a"} = "e";
my %x2 = ();
$x2{"a"} = ["b","c"];
p(\%x1);
p(\%x2);
sub p {
my $x = shift @_;
print $x->{a};
print "\n";
}
который выводит
e
ARRAY(0x2603fa0)
Проблема в том, что я не знаю, когда вход представляет собой массив или скаляр, и когда это массив, я тоже хотел бы напечатать эти значения.
Можно ли изменить p
для этого?