Dear Mr. Raymer,
This was a pretty big problem for me, but I got it after trying lots.
I'm good at technical things like this because I have 19 years of experience
doing object oriended programming. PERL is hard, but you can make it do what
you want if you just keep trying. I wanted other people to be able to use
my program, so I couldn't use my varibels, and its hard to get it to do that.
use strict;
use warnings;
${\our %kev}{$ARGV[$_]}++ and splice @ARGV, $_, 1 for reverse 0..$#ARG
+V;
!defined( $_ = <> ) ? do { scalar( delete( ${\our %kev}{$$_[0]} ) && o
+pen(KEV, ">", $_->[0]) xor print KEV $$_[2] ) for do { use vars '@kev
+'; @kev }; exit }: ( push( @{\our @kev}, [$ARGV, (split(" ", $_))[-1]
+, $_] ), our @kev = sort { $a->[0] cmp $b->[0] or $b->[1] <=> $a->[1]
+ } @kev ) while 1;