in reply to Problem with AUTOLOAD and Windows
There are tons of things that can set $!, many of which are not evident on the Perl script. If you are going to check for $! being 0 or not, then you need to set $! to 0 immediately before the code that might set $! and check $! immediately after calling that code.
It isn't terribly surprising that $! was often left at 0 on previous runs. It also isn't terribly surprising that $! wasn't left at 0 on a recent run.
So make two fixes to your AUTOLOAD code. Add $! = 0; right before you call the XS code. Don't even look at $! unless the XS code returns 0.
- tye
|
---|
In Section
Seekers of Perl Wisdom