Here's my try:
Update: As I see, Razorblade was first :D
use warnings;
use strict;
+
my @middle = qw( 49998 49999 50000 50001 50002 50003 );
my @limit = qw( 99997 99998 99999 00001 00002 00003 );
+
use Data::Dumper;
print "MIDDLE\n";
print Dumper sort ro @middle;
print "LIMIT\n";
print Dumper sort ro @limit;
+
sub ro { ( abs($a - $b) > 5000 ? $b <=> $a : $a <=> $b ) }
gives me:
MIDDLE
$VAR1 = 49998;
$VAR2 = 49999;
$VAR3 = 50000;
$VAR4 = 50001;
$VAR5 = 50002;
$VAR6 = 50003;
LIMIT
$VAR1 = 99997;
$VAR2 = 99998;
$VAR3 = 99999;
$VAR4 = '00001';
$VAR5 = '00002';
$VAR6 = '00003';
hope that helps;phay |