Wow, thanks for the examples. It would seem "simple usage" is not what people would assume it is. I will go file a bug report against PathTools, but it may be instructive to see how easy it is to fall into this trap. Here is the line of code in File::Spec::Win32.pm that caused me all the grief:
$tmpdir = $_[0]->_tmpdir( @ENV{qw(TMPDIR TEMP TMP)},
'SYS:/temp',
'C:\system\temp',
'C:/temp',
'/tmp',
'/' );
Sure looks innocent, huh? Of course the 'fix' will be to change the references to 'simple' ones,
$tmpdir = $_[0]->_tmpdir( $ENV{TMPDIR},
$ENV{TEMP},
$ENV{TMP},
And in answer to Skeeve, yes, I am a "bug-magnet"