I am not familiar with Getopt() and am not using it. The "other commands and things" means this: If I call a shell script from crontab containing perlscript test1 test2 and that script calls system("/usr/local/stuff/lookup pid1 pid2"); then somehow lookup will have 3 arguments in @ARGV: (/usr/local/stuff/lookup)(pid1)(pid2) but when i call it from a console it has: (pid1)(pid2)