Dave, I just ran the following quick test: parent.pl #!/usr/bin/perl { print "This is from the original perl script\n"; exec "./child.pl"; } child.pl #!/usr/bin/perl { print "This is from the child script via exec\n"; } It produces: [mdeggers@phoenix perl-src]$ ./parent.pl This is from the original perl script This is from the child script via exec My system is as follows: [mdeggers@phoenix perl-src]$ perl -v This is perl, v5.8.1 built for i386-linux-thread-multi [mdeggers@phoenix perl-src]$ uname -a Linux phoenix 2.4.22-1.2166.nptl #1 Fri Jan 30 13:48:31 EST 2004 i686 i686 i386 GNU/Linux My guess is that your namelookup.pl is not in the path of the user. If it's in the same directory, check to see if '.' is in the path. This isn't the best security practice, and putting in the absolute path would probably be a good idea. There are other solutions (perl programming) that entail making a module with functions and putting that in /usr/lib/perl5/site_perl/5.8.1. HTH /mde/ just my two cents