Thread File::Temp - temp-Verzeichnis wird ignoriert wenn perl -T (Win32) (5 answers)
Opened by GwenDragon at 2014-07-01 15:51

GwenDragon
 2014-07-01 15:51
#176238 #176238
User since
2005-01-17
14757 Artikel
Admin1
[Homepage]
user image
Ich habe heute diverse Module (in dem Fall die Testfiles *.t!) getestet und bemerkt, dass bei denen File::Temp->tempdir kein Verzeichnis im temporären Verzeichnis erzeugt, wenn das Modul im Taintmode aufgerufen wird.

test.pl:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!perl -T

use strict; 
use warnings;

use File::Temp ();
my $tempdir = File::Temp->newdir;
print "Tempdir is $tempdir";

=pod

generates something like:
Tempdir is \2n_ZnUbENO

but should be something like:
Tempdir is C:\Users\MYNAM~1\AppData\Local\Temp\58nDhHDTcd

=cut


Aufzurufen als:
perl -T -IC:\strawberry\perl\lib -IC:\strawberry\perl\site\lib -IC:\strawberry\perl\vendor\lib test.pl

Gibt leider nur /58nDhHDTcd o. ä. als (ohne kompletten Pfad auf temporäres Verzeichnis) aus! Was nicht sinnvoll ist.

Ist aber nur ein Windows-Problem!
Auf Linux wird immer ein neues Verzeichnis unterhalb /tmp/ erzeugt.

Ich verwendete:
Windows 7 (x64)
Strawberry Perl 5.14.4 (32bit!) MSWin32-x86-multi-thread
File::Spec (3.47) ist aktuell aus SMUELLER/PathTools-3.47.tar.gz
File::Temp (0.2304) aus File-Temp-0.2304.tar.gz

Habe aber auch 5.20 getstet mit selbem Ergebnis.



Kann das jemand bitte mit Strawberry-Perl unter Windows testen?
Dann kann ich den Maintainer von File::Temp wegen des taintmodes ansprechen, was das ist und ob das beabsichtigt ist, denn es stört auch andere Modultests wie bei z. B. App:Ack.
Last edited: 2014-07-01 15:59:23 +0200 (CEST)

View full thread File::Temp - temp-Verzeichnis wird ignoriert wenn perl -T (Win32)