#!/usr/bin/perl use warnings; use strict; use Benchmark qw{ cmpthese }; sub precat { my ($string, $prefix) = @_; $string = $prefix . $string; $string } sub Substr { my ($string, $prefix) = @_; substr $string, 0, 0, $prefix; $string } sub subst { my ($string, $prefix) = @_; $string =~ s/^/$prefix/; $string } use Test::More; is precat('def', 'abc'), 'abcdef', 'correct concat'; is Substr('def', 'abc'), 'abcdef', 'same substr'; is subst('def', 'abc'), 'abcdef', 'same subst'; done_testing(3); cmpthese( -3, { precat => q( precat 'def', 'abc' ), substr => q( Substr 'def', 'abc' ), subst => q( subst 'def', 'abc' ), });