Not better performance solution:
use strict;
use Benchmark;
my @convert;
for(0..10000){
$convert[$_] = '0' x (4 - length$_) . $_
}
my ($val1,$val2) = (int rand(10000),int rand(10000));
timethese 2_000_000 => {
array => sub {
@convert[$val1,$val2]
},
nobull => sub {
$val1 * 10000 + $val2
}
}
#where connectm can be
#sub connectm {
# my ($val1,$val2) = @_;
# @convert[$val1,$val2]
#}
__END__
Benchmark: timing 2000000 iterations of array, nobull...
array: 2 wallclock secs ( 0.78 usr + 0.00 sys = 0.78 CPU) @ 25
+57544.76/s (n=2000000)
nobull: 1 wallclock secs ( 0.52 usr + 0.00 sys = 0.52 CPU) @ 38
+83495.15/s (n=2000000)