in reply to Re^2: Removing Blank Lines From a File
in thread removing blank lines from files

Update:To the benefit of speed too:

#!/usr/bin/perl -w use strict; use Benchmark qw(timethese); my @data = ("sponge\n","\n", "wibble\n","boing\n", "spam\n","\n"," spud\n"); my $nsre = qr/\S/; my $isre = qr/^\s+$/; timethese(1E6, { 'nospace' => sub { grep {/$nsre/} @data; }, 'isspace' => sub { grep {!/$isre/} @data; }})

Resulting in:

Benchmark: timing 1000000 iterations of isspace, nospace... isspace: 67 wallclock secs (56.34 usr + 0.15 sys = 56.49 CPU) @ 17 +702.25/s (n=1000000) nospace: 63 wallclock secs (49.19 usr + 0.26 sys = 49.45 CPU) @ 20 +222.45/s (n=1000000)

Unless my dataset is unfair.

--
¤ Steve Marvell

Replies are listed 'Best First'.
Re^3: Removing Blank Lines From a File
by tadman (Prior) on Jun 20, 2002 at 15:48 UTC
    If you're talking about quarter mile times (i.e. Perl Drag Racing), then the only way to fly is:
    perl -ni -e 'print if length > 1' file1 file2 ...
    Of course, this '1' might be '2' if your platform uses CRLF instead of LF or CR alone. You people know who you are.