my $price = sprintf "£%d.%02d", $pounds||0, $pence||0; #### my $price = sprintf "£%d.%02d", $pounds, $pence; #### print 'a' + 'b', $/; # warns print [] + {}, $/; # no warning #### use v5.12; # behaviour of split changed in 5.12. sub a { split //, 'xyz'; 1 } a(); # warns sub b { split //, 'xyz' } b(); 1; # no warning #### no warnings 'numeric'; no warnings 'once'; no warnings 'uninitialized'; no warnings 'void';