#!/usr/bin/perl use strict; use warnings; use Benchmark qw( cmpthese ); my $TIMES = shift(@ARGV) || -3; my $upper_id_string = "ABCD1EFGHI2J.a01f2345b067cde890f12gab345678c9"; my $lower_id_string = "abcd1efghi2j.a01f2345b067cde890f12gab345678c9"; sub old_way { my $string = shift; return split( /\./, $string, 2 ); } sub with_tr { my $string = shift; my( $id, $session ) = split( /\./, $string, 2 ); $id =~ tr/a-z/A-Z/; return ( $id, $session ); } { print("Upper case data\n"); print("===============\n"); our $string = $upper_id_string; cmpthese($TIMES, { old_way => 'use strict; use warnings; our $string; my @rv = old_way($string); 1', with_tr => 'use strict; use warnings; our $string; my @rv = with_tr($string); 1', }), } print("\n"); { print("Lower case data\n"); print("===============\n"); our $string = $lower_id_string; cmpthese($TIMES, { old_way => 'use strict; use warnings; our $string; my @rv = old_way($string); 1', with_tr => 'use strict; use warnings; our $string; my @rv = with_tr($string); 1', }); }