Benchmark: timing 1000000 iterations of interpolator, joiner... interpolator: 5 wallclock secs ( 5.13 usr + 0.00 sys = 5.13 CPU) @ 194931.77/s (n=1000000) joiner: 4 wallclock secs ( 4.53 usr + 0.00 sys = 4.53 CPU) @ 220750.55/s (n=1000000) Rate interpolator joiner interpolator 194932/s -- -12% joiner 220751/s 13% -- #### #!/usr/bin/perl my ($the,$fastest,$donut,$youve,$ever,$seen) = qw [ the fastest donut you've ever seen ]; sub joiner { my $x = join ('/', $the,$fastest,$donut,$youve,$ever,$seen); } sub interpolator { my $x = "$the/$fastest/$donut/$youve/$ever/$seen"; } use Benchmark qw [ cmpthese ]; cmpthese ( 1000000, { joiner => \&joiner, interpolator => \&interpolator, } );