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; } } #### An example: $file = "example.txt"; $line_no_reqd = 4; $result = &imp($file,$line_no_reqd); print $result;