sprintf に配列で引数をわたそうとするとはまる。 use strict; use warnings; use utf8; use 5.10.0; sub fmt { sprintf(@_) } sub fmt2 { my $format = shift; sprintf($format, @_); } say(fmt("Hello, %s", "John")); say(fmt2("Hello, %s", "John")); 2 Hello, Johnえてしてこういう罠があるので perl5 は常に驚きをもって接っすることが可能となっている。