The good new first: The program runs fine on my system (XP, AS Perl 5.8.6)
I'm using Win2000 Pro, Active Perl 5.8.7. I don't think that should be the source of the problem.
The return value of GetFolderPath is a path. The CSIDL_LOCAL_APPDATA is a numeric constant that tells the function which path to return.
Okay, but that doesn't solve the mystery as to why it's not returning the same path that the command-line invocation did.
Note that code in the style of if ($something) {use Some::Module;} does not DWYM. use is a compile time statement. There are some nodes about conditionally loading modules at runtime here.
Correct, but I got the same results using require:
use strict; use warnings; use Exporter qw(import); my $realhome; if ($^O eq 'MSWin32') { require Win32; import ('CSIDL_LOCAL_APPDATA'); $realhome = Win32::GetFolderPath('CSIDL_LOCAL_APPDATA'); }
jimk
In reply to Re^2: Win32 CSIDL_LOCAL_APPDATA
by jkeenan1
in thread Win32 CSIDL_LOCAL_APPDATA
by jkeenan1
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |