use strict; my ($begline, $endline); open DATA, "; chomp @lines; foreach ($begline..$endline) { my ($var1, $var2, $var3) = split '\|', $lines[$_]; print "$var1 $var2 $var3\n"; # do whatever }