While the details vary from Unix to Unix, in general arguments and environment are both considered public information. You can try to hide them right after you start up, but there will still be a time period when they are not hidden.
The only way I know to do this safely is via a filehandle. You can do that with a pipe or a temp file. I think a pipe is the nicest way to do it. From the shell, you can use a "here document" to send the data directly over a pipe:
echo "Enter Password:"
print "Password is $_\n";