in reply to using strict and functions

There are some variables that can't be used with my, e.g. $" or the like. In this case, you have to use local.
sub MyFunc { local $" = shift; my @list = @_; print "@list\n"; } # MyFunc
But always try to use my before using local.

Best regards,
perl -e "print a|r,p|d=>b|p=>chr 3**2 .7=>t and t"