use strict; use warnings; use Data::Dumper; my $foo = 0; my $row = [ 'info', ' john ', ' 100 - 200 ', ' kent ', ]; print Dumper($row); foreach (@$row){ s/\A\s+//; s/\s+\z//; } print Dumper($row); my ($dat1, $dat2) = ${$row}[2] =~ m/(\d+)\D+(\d+)/; print "data:$row->[0] $row->[1]:$dat1 $row->[3]:$dat2", "\n";