my @pos_array; my @neg_array; while ( my $row = ) { if ( /(-\d[.\d]+)/ ) { push @neg_array, $1; } elsif ( /(\d[.\d]+)/ ) { push @pos_array $1; } } # now do stuff with those two arrays... #### #!/usr/bin/perl use strict; use warnings; while ( my $row = ) { print $row; } __DATA__ 10.00 10.00 -30.00