Ich bin mit dem folgenden Code:Perl - Datei Schlürfen Ausgabe
open my $fh, "<", $file;
$/ = undef;
my $report = <$fh>;
$/ = "\n";
close $fh;
print("$report\n\n");
$ file bezieht sich auf eine Textdatei, die wie folgt aussieht:
a 1
b 2
c 3
ich diesen Code lief auf zwei verschiedenen Linux Boxen. Einer von ihnen gab mir die erwartete Ausgabe (genau wie es in der Textdatei erscheint). Der andere gab mir diese statt:
GLOB(0x80f1174)
... die mich effektiv verhindert weiter den Inhalt zu manipulieren.
Ich überprüfte die Perl-Versionen - die eine gibt mir die erwartete Ausgabe ist 5.10, während die andere 5.8 ist. Allerdings habe ich genau den gleichen Code gegen ähnliche Dateien in der Vergangenheit mit 5.8 ausgeführt, die funktionierten.
Ich habe auch versucht, die Datei von DOS nach UNIX zu konvertieren über: set ff = unix, aber ohne Erfolg.
Sie würden Ausgabe wie 'GLOB (0x80f1174)' erhalten, wenn Zeile 4 'my $ result = $ fh' anstatt' my $ result = <$fh> 'sagte. – mob
@mob Ich habe meinen Code überprüft - es verwendet <$fh>. – kaspnord
@kaspnord, Dann Triple-Check. Vielleicht führen Sie die Datei nicht aus, von der Sie glauben, dass sie ausgeführt wird. – ikegami