Hi Bill, Thank you very much for the verbose program. I was able to figure out what was wrong. It is a bug in File::Spec->rel2abs which fails to check the current working directory within a forked Win32 program.
Here is a buggy program: #!perl -wl use strict; use File::Spec; use Cwd; my $localName = 'test_dir\test_file'; my $pid = fork; # Buggy when $pid == 0 and works as expected when $pid != 0 if ($pid == 0) { print getcwd; # Output: C:/dev chdir 'C:/temp'; print getcwd; # Output: C:/temp print File::Spec->rel2abs($localName); # Output: C:\dev\test_dir\test_file # The output of rel2abs should have been: C:\temp\test_dir\test_file } __END__ It works correctly under Linux. Thank you for the reply which made me think further. :-) Regards, Alan Haggai Alavi. -- The difference makes the difference