in reply to Argv problem

Did you quote the &? If not, it is possible that your shell interpreted it and did not pass it as an argument to your script.

This works for me in bash:

perl -e 'print for @ARGV' 1 \& 2
لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ