use Benchmark; sub xor_swap { my($num1x,$num2x) = @_; $num1x ^= $num2x; $num2x ^= $num1x; $num1x ^= $num2x; } sub perl_swap { my($num1x,$num2x) = @_; ($num1x,$num2x)=($num2x,$num1x); } timethese (1_000_000, { xor_swap => sub { xor_swap(38,970); }, perl_swap => sub { perl_swap(38,970); } });