#!/usr/bin/perl use Data::Dumper; while() { $all_numbers=$_; chomp $all_numbers; @vector=(); @vector = split(/\@/, $all_numbers); $start; @answer; for ( sort {$a <=> $b} @vector) { if( not defined $start or $_ > $start + 1000 ) { push @answer, [ $_ ]; $start = $_; } else { push @{ $answer[-1] }, $_; } } for $i ( 0 .. $#answer ) { print "$i\t [ @{$answer[$i]} ]\n"; } print "//\n"; } __DATA__ 141326478@103194415@50137382@86004442@86004438@86004434@85280835@17916134@85280834@86004437@85280832@53250112@50137387@50137380@29223108@25694155@86004431 6901075@6901079@34073753@88911904@34073751@91346449@34073757