sub extract { my ($filename, $line_no)=@_; my $line; open (FILE, $filename) || die "$filename can't be opened $! " if ($line_no =~ /\D/) { while ($line=) { if ($line =~ /$line_no/) { return $line; } } } else { foreach (1..$line_no) { $line = ; } return $line; } }