3 # Modify the program from Exercise 1 to use JSON instead of Storable.
14 my $storagepath = "ex6-2.data";
15 if (-e $storagepath) {
17 open my $fh, '<', $storagepath or die "Unable to read from '$storagepath': $!";
19 %hosts = %{from_json($data)};
23 my ($src, $dst, $bytes) = split;
24 $hosts{$src}{$dst} += $bytes;
26 open my $fh, '>', $storagepath or die "Unable to write to '$storagepath': $!";
27 print $fh to_json(\%hosts, { pretty => 1 });
31 foreach (keys %{$hashref}) {
32 $total += $hashref->{$_};
36 foreach my $src (sort { sum($hosts{$b}) <=> sum($hosts{$a}) } keys %hosts) {
37 print "Total bytes ($src): ". sum($hosts{$src}) ."\n";
38 foreach my $dst (sort { $hosts{$src}{$b} <=> $hosts{$src}{$a} }
39 keys %{$hosts{$src}}) {
40 print "$src => $dst $hosts{$src}{$dst}\n";