#!/usr/bin/perl $last = $ARGV[-1]; splice(@ARGV, -1); open(PIPE, "ledger -MG @ARGV register $last |") || die; @values = (); while () { ($date, $value) = split; push @values, $value; } close(PIPE); @values = sort @values; splice(@values, 0, 1); splice(@values, -1); $value = 0.0; for $item (@values) { $value += $item; } if (@values) { printf("%.2f\n", $value / @values); } else { die "There are no values to average!\n"; }