Help for this page

Select Code to Download


  1. or download this
            my $var = shift;                        # wrong
            my($var) = @_;                          # right
            sub foo { uc $_[0] }                    # OK
            my($var1, $var2) = (shift, shift);      # Um, no.
    
  2. or download this
    use Benchmark qw(cmpthese);
    
    ...
      x_copy1 => 'x_copy1(@args)',
      x_copy2 => 'x_copy2(@args)'
    });
    
  3. or download this
                 Rate x_copy2 x_copy1 x_shift
    x_copy2  609756/s      --    -18%    -45%
    x_copy1  746269/s     22%      --    -32%
    x_shift 1098901/s     80%     47%      --
    
  4. or download this
    use Benchmark qw(cmpthese);
    
    sub x_shift { my $a = shift }
    ...
    my @args = (1 .. 3);
    
    cmpthese(1000000, { x_shift => 'x_shift(@args)', x_copy => 'x_copy(@ar
    +gs)' });
    
  5. or download this
                 Rate  x_copy x_shift
    x_copy  1298701/s      --     -0%
    x_shift 1298701/s      0%      --