#!/usr/bin/perl -- use strict; use warnings; use Benchmark 'cmpthese'; Main( @ARGV ); exit( 0 ); sub Main { #~ my $big = 'a' x 99999999; # out of memory for me :) my $big = 'a' x 9999999; cmpthese( -3, { 'U' => sub { Fundef($big,'bar'); return; }, 'R' => sub { Ffednu($big,'bar'); return; }, 'V' => sub { Fvaria($big,'bar'); return; }, }); } sub Fundef { my (undef, $x) = @_; my $blah = 0; if($x){ if($_[0]){ $blah=1; } } return; } sub Ffednu { my ( $x ) = $_[1]; my $blah = 0; if($x){ if($_[0]){ $blah=1; } } return; } sub Fvaria { my ($var, $x ) = $_[1]; my $blah = 0; if($x){ if($_[0]){ $blah=1; } } return; } __END__