Try:

open(FD,"$file") || die "Can not open $file";
        while(<FD>) {

                while ($line = <FD>)
{ 
                print "lineNo is $. and text is $text\n";

                next if ($. < $text);
                print $line;
}
}
close FD;

$. is a special variable containing the current input line number of the
file being read.

Glen

Glen Lee Edwards
[EMAIL PROTECTED]

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: "[EMAIL PROTECTED]" for general perl questions
::  [EMAIL PROTECTED]
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::




On Mon, 22 Nov 1999, gnielson wrote:

>I am trying to write a perl script that will read a number from a file,
>use that as a counter, and only print out lines above that counter number.
>So if the number is 5 and the file is 10 lines, only the last 5 lines
>would be printed.
>
>The problem is when it prints out it misses one line, so instead of
>printing 5 lines it will print the last 4 lines. 
>
>Any help much appreciated.
>
># $text is the counter variable
>
>open(FD,"$file") || die "Can not open $file";
>        while(<FD>) {
>
>                my $lineNo = "0";
>                while ($line = <FD>)
>{ 
>                print "lineNo is $lineNo and text is $text\n";
>
>                next if ($lineNo < $text);
>                print $line;
>}
>}
>close FD;
>
>
>
>


-- 
To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe"
as the Subject.

Reply via email to