Hi,
I added one. The seek didn't work. I don't have the ReadBackwards, but at least some timeing results : Benchmark: timing 10000 iterations of complete, frk, pop... complete: 21 wallclock secs (16.93 usr + 0.80 sys = 17.73 CPU) @ 564.02/s (n=10000) frk: 83 wallclock secs ( 1.34 usr 9.98 sys + 20.70 cusr 39.90 csys = 71.92 CPU) @ 883.39/s (n=10000) pop: 18 wallclock secs (15.14 usr + 0.76 sys = 15.90 CPU) @ 628.93/s (n=10000) # -------------------------------- #!/user/cadiclab/bin/perl use strict; use Benchmark; my $file = "tst.cgi"; sub pop { open(FH, "< $file") or die "Problems opening file $! \n"; my @lines = <FH>; my $lastline; while (my $line = pop @lines) { $lastline = $line; last; } } # End sub pop # -------- #sub readb { #use File::ReadBackwards; #my $bw = File::ReadBackwards->new( $file ) or die "Cannot read $file: $!"; #my $last_line = $bw->readline; #} # -------- sub frk { my $last_line = `tail -1 $file`; } # -------- sub complete { open FILE, $file or die "Cannot read $file: $!"; my $last_line; $last_line = $_ while <FILE>; } timethese (10000, { pop => \&pop, frk => \&frk, complete => \&complete }); #readb => \&readb }); # ------------------------------- > > Karen Liew Ying Ping wrote: > > > > Hi, > > Hello, > > > Let's say I'm opening a file. > > How do I read the last line of the file? > > is there any function in doing so? > > > use File::ReadBackwards; > my $bw = File::ReadBackwards->new( $file ) or die "Cannot read $file: > $!"; > my $last_line = $bw->readline; > > # OR > > my $last_line = `tail -1 $file`; > > # OR > > open FILE, $file or die "Cannot read $file: $!"; > my $last_line; > $last_line = $_ while <FILE>; > > > > John > -- > use Perl; > program > fulfillment > > -- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]