in reply to Module/script all in one

You need to quote your $@, as in:
eval " ... \"$@\""

-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.