#!/usr/bin/perl use Benchmark; sub child_grepping { $a = `/bin/grep 'S;Dvg&T?sBu=\@j4qkP&O' data.txt`; } sub inline_grepping { open( IN, "data.txt" ); @lines = ; close( IN ); ($a) = grep /S;Dvg&T\?sBu=\@j4qkP&O/, @lines; } sub child_perlizing { my $command = "perl -e 'while( \$line = <> ) { if( \$line =~ "; $command .= "/S;Dvg&T\\\?sBu=\\\@j4qkP&O/) { print \$line; last; } }' "; $command .= '< data.txt'; $a = `$command`; } sub inline_perlizing { my $line; open( IN, "data.txt" ); while( $line = ) { if( $line =~ /S;Dvg&T\?sBu=\@j4qkP&O/ ) { $a = $line; last; } } close( IN ); } timethese( 1000, { child_grepping => 'child_grepping()', child_perlizing => 'child_perlizing()', inline_grepping => 'inline_grepping()', inline_perlizing => 'inline_perlizing()' } );