Can't resist a little nit-picking:
else { last if !defined (($_ = <>) =~ s!\n|$/!!g); } ...which reads a chunk of ARGV into $_, removes newlines, chomps, and should exit the loop it is a part of at the end of the last ARGV file, or on any chunk not containing a newline or input record separator.That isn't warnings friendly (you'll get "Use of uninitialized value in substitution" at the end of ARGV), and you should \Q the $/.
@{$temp_hash{files}} = grep { /@(\d+)$/; $1 > $old } @{$temp_hash{files}};Also warnings unfriendly if the data doesn't have @ and digits at the end. Better to say: /@(\d+)\z/ && $1 > $old (but use $ instead of \z if you really mean it that way.)
In reply to Re: Code for elegance, code for clarity
by ysth
in thread Code for elegance, code for clarity
by delirium
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |