open OUTFILE
David
- perl
Hallo zusammen
Der Befehl open(OUTFILE, "<$file") kann ja nicht mit Sonderzeichen. Ich habe bei uns intern eine Verzeichnis mit Dateien bei welchem gewisse Dateinamen "+" im Dateinamen haben. Ich müsste diese Daten auch ausgeben können, jedoch meckert mich Perl natürlich an, es können die Datei nicht öffnen.
Das einfachste wäre natürlich die Dateien umzubenennen, jedoch darf dies gemäss CTO nicht gemacht werden, da diese Daten noch anderweitig verknüpft sind. hat da jemand eine Idee wie man das lösen könnte?
Gruss David
Bounjoun David,
Der Befehl open(OUTFILE, "<$file") kann ja nicht mit Sonderzeichen.
open() ist eine perleigene Funktion. Ob man Funktionen als Befehle bezeichnen darf, steht auf ein Blatt, das wenig relevant ist, aber, wie kommst Du dazu, dass open() Probleme mit Sonderzeichen hat?
OUTFILE ist ein selbstvergebener file handle. Kannste auch HUSSELDIGUGGEL oder KEINPROBLEMMITSONDERZEICHEN nennen.
Wie hast Du $file definiert?
Adiou.
Re,
Testen ist immer besser als Labern:
use strict;
my $file = 'dateimitpluszeichen+[]{}.txt';
open FILE, "<", $file or die $^E;
while (<FILE>) { print; }
close FILE;
Ausgabe ist der Inhalt der Datei.
P.S.: Ich komme Struppi vor und sage: "Dann machst Du etwas falsch" ;)
Adiou.
Lexikalische Handles wurden 2000 eingeführt. Du solltest Neulingen nicht mehr die herkömmliche Weise beibringen.
Der Befehl open(OUTFILE, "<$file") kann ...
ist besser in dieser Form zu verwenden
open( my $fh, "<", $file ) or die ...
mfg Beat
Hi,
Der Befehl open(OUTFILE, "<$file") kann ja nicht mit Sonderzeichen. Ich habe bei uns intern eine Verzeichnis mit Dateien bei welchem gewisse Dateinamen "+" im Dateinamen haben. Ich müsste diese Daten auch ausgeben können, jedoch meckert mich Perl natürlich an, es können die Datei nicht öffnen.
Mal abgesehen davon, daß *ich* von vornherein vermeiden würde, derartige Dateinamen zu verwenden:
Perl hat damit kein Problem.
Ich vermute, daß der User, unter dem Dein Perl-Script läuft, keine Zugriffsrechte auf die Dateien hat.
cu,
Andreas