use strict; my ($handle, @lines, $c); open($handle, "lines"); @lines = <$handle>; close($handle); chomp @lines; @lines = sort {$a <=> $b} @lines; open($handle, "text"); while ($c <= $#lines) { <$handle> for (($.)..($lines[$c++]-2)); print $_ = <$handle>; } close($handle);