Hallo!
Wenn ich mittels Perl-Skript Dateien in bestimmte Ordner schreiben will (im konkreten Fall
C:\Program Files (x86)), dann bekomme ich den Fehler: "Permission denied".
Wird das Skript hingegen als Administrator ausgeführt, klappt es.
Hier mal ein Skript zum Testen:
#!perl
use strict;
use warnings;
use FileHandle;
use File::Spec;
my $file = File::Spec->catfile('C:', 'Program Files (x86)', 'perl-test.txt');
my $fh = FileHandle->new($file, '>');
if( defined $fh ) {
$fh->print("bar\n");
$fh->close();
}else{
die("Error: $!");
}
Wie kann ich komfortabel anfragen, ob ich Schreibrecht für das Verzeichnis habe? Ich dachte eventuell an sowas wie:
my $install_dir = File::Spec->catdir('C:', 'Program Files (x86)');
my $glaskugel = Glaskugel->new();
if( $glaskugel->is_writable( $install_dir ) ) {
print "Toll! Du kannst schreiben!\n";
}else{
print "Du kommst hier nicht rein.\n";
}
Das gibt es dopch bestimmt schon? (vllt. nicht als Glaskugel, aber anders)
Grüße, pktm