Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: File::Spec tmpdir() is behaving wrongly in Windows7

by sundialsvc4 (Abbot)
on Jul 31, 2013 at 13:15 UTC ( [id://1047262]=note: print w/replies, xml ) Need Help??


in reply to [solved] File::Spec tmpdir() is behaving wrongly in Windows7

A read of the docs in File::Spec::Win32 leads me to this quote:

Returns a string representation of the first existing directory from the following list:

$ENV{TMPDIR}
$ENV{TEMP}
$ENV{TMP}
SYS:/temp
C:\system\temp
C:/temp
/tmp
/

I know that Windows environment-variables are defined in a control-panel.   With a little bit of sleuthing through this information, you ought to be able to identify and resolve the problem ... ?

Replies are listed 'Best First'.
Re^2: File::Spec tmpdir() is behaving wrongly in Windows7
by marinersk (Priest) on Jul 31, 2013 at 14:27 UTC
    And a thought for the out-of-box folks: It is possible, under certain environments, that the directory exists but the account running the script might not have sufficient access to see it. It would therefore "not exist" from the runtime perspective.

    Not allowed to ask how I know this can be an issue. :-(

Re^2: File::Spec tmpdir() is behaving wrongly in Windows7
by sam_bakki (Pilgrim) on Aug 01, 2013 at 05:21 UTC

    Hi sundialsvc4

    To avoid confusion, I set the environment variable SET TMPDIR=C:\Temp and then ran the perl code. Still I get the wrong results.
    C:\Temp is avilable with full permission to all users.
    I have created perlApp (Active State based) exe and executed in other machines, I face the same isse with File::Spec.
    What I understand with all the monks post is, it is File::Spec issue. I will reinstall perl freshly and try again.

    Thanks & Regards,
    Bakkiaraj M
    My Perl Gtk2 technology demo project - http://code.google.com/p/saaral-soft-search-spider/ , contributions are welcome.

      Hi sundialsvc4

      Great. Thanks for your support. Issue is solved. Looks like my C:\Temp was created by system, though it exists with write permission some how perl is not getting permission to work in it. So I have set Temp dir in my local account like below,

      C:\> SET TMPDIR=C:\Users\bakki\AppData\Local\Temp C:\> perl -MFile::Spec -e "print File::Spec->tmpdir();" C:\Users\bakki\AppData\Local\Temp

      Now everything work. Actually, it the default Temp set by windows for every user, I have modified it to point to System temp which is wrong.

      Thanks & Regards,
      Bakkiaraj M
      My Perl Gtk2 technology demo project - http://code.google.com/p/saaral-soft-search-spider/ , contributions are welcome.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1047262]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others avoiding work at the Monastery: (3)
As of 2024-04-20 02:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found