$ perl -wE 'sub f {say @_} 3 =~ /(\d)/; f $1' 3 $ perl -wE 'sub f {"1" =~ "1"; say @_} 3 =~ /(\d)/; f $1' Use of uninitialized value $_[0] in say at -e line 1. $ perl -wE 'sub f {"1" =~ "1"; say @_} 3 =~ /(\d)/; f "$1"' 3 $