in reply to Regex problem

I see there's a lot of repetition.

if ($line =~ /^0.{9} (\t[0-9]{1,20}) etc. etc. etc.

Why not slurp the file into a scalar (Perl Slurp-eaze), split the file at the tabs, and send the data to an array.

my @excelData = split /\t/, $slurpedExcelFile;

Update - Oops!

As noted out by ikegami the split statement should read:

my @excelData = split "\t", $slurpedExcelFile;

Update - Aaaaaaaa!

A little testing shows both "/t" and /\t/ will work with split.

If you need to check the individual values create a simpler regex and apply it to each array item.

my @numbers = grep /# your regex/, @excelData;

Mike

"I need more cow bell!"