#!/usr/bin/perl
sub main(){ my @param = (); my @addr = (); my %data = {}; my $length = 0; open(FH, "<$ARGV[0]") or die "can't open file"; while(<FH>){ @param = split(" ", $_); $length = @param; next if $length < 5; @addr = split("-", $param[0]); $data{$param[5]} = hex($addr[1]) - hex($addr[0]); } close(FH); foreach $key ( sort keys %data ){ printf("%-60s, %d\n", $key, $data{$key}); } } &main();