You can use the following sub routine to extract particular lines from a file :
sub extract {
my ($filename, $line_no)=@_;
my $line;
open (FILE, $filename) || die "$filename can't be opened $! "
if ($line_no =~ /\D/) {
while ($line=<FILE>) {
if ($line =~ /$line_no/) {
return $line;
}
}
}
else {
foreach (1..$line_no) {
$line = <FILE>;
}
return $line;
}
}
You have to pass the filename and the line number required. You can pass only one line no. required at a time. This can also be used to obtain a phrase from the file by passing the phrase to the sub routine.
An example:
$file = "example.txt";
$line_no_reqd = 4;
$result = &imp($file,$line_no_reqd);
print $result;
This example will fetch the contents in line no. 4 from the file, example.txt and print it.