blob: ca4e5bfa7850ee5bc783cec7c0d18b8d76d66883 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
#!/usr/bin/perl
use strict;
use warnings;
use JSON;
sub dump_array {
my ($label_in, $ary_ref) = @_;
my @ary = @$ary_ref;
for ( my $i = 0; $i <= $#{ $ary_ref }; $i++ )
{
my $label = "$label_in\[$i\]";
dump_item($label, $ary[$i]);
}
}
sub dump_hash {
my ($label_in, $obj_ref) = @_;
my %obj = %$obj_ref;
foreach my $k (sort keys %obj) {
my $label = (length($label_in) > 0) ? "$label_in.$k" : "$k";
my $value = $obj{$k};
dump_item($label, $value);
}
}
sub dump_item {
my ($label_in, $value) = @_;
if (ref($value) eq 'ARRAY') {
print "$label_in array\n";
dump_array($label_in, $value);
} elsif (ref($value) eq 'HASH') {
print "$label_in hash\n";
dump_hash($label_in, $value);
} elsif (defined $value) {
print "$label_in $value\n";
} else {
print "$label_in null\n";
}
}
my $row = 0;
while (<>) {
my $data = decode_json( $_ );
my $label = "row[$row]";
dump_hash($label, $data);
$row++;
}
|