#!/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; }})