36 lines
843 B
Perl
36 lines
843 B
Perl
#!/usr/bin/perl
|
|
use warnings;
|
|
use strict;
|
|
|
|
my $mixed = [
|
|
'scalar', ['a', 'B', ['c', 'd'], 'e'],
|
|
{And=>{'A'=>'A'}}, \'a scalar ref'
|
|
];
|
|
|
|
print_structure($mixed);
|
|
|
|
sub print_structure {
|
|
my ($data) = @_;
|
|
|
|
foreach (ref $data) {
|
|
/^$/ and print($data,"\n"), next;
|
|
/^SCALAR/ and print('-> ', $$data, "\n"), next;
|
|
/^HASH/ and do {
|
|
print "\n";
|
|
foreach my $key (keys %{$data}) {
|
|
print "$key => ";
|
|
print_structure ($data->{$key});
|
|
}
|
|
next;
|
|
};
|
|
/^ARRAY/ and do {
|
|
print "\n";
|
|
for my $elc (0..$#{$data}) {
|
|
print "[$elc] : ";
|
|
print_structure ($data->[$elc]);
|
|
}
|
|
next;
|
|
};
|
|
print "?$data?";
|
|
}
|
|
} |