Ich kann <>
verwenden, um dort die Pipeline-Eingabe zu einem Perl-Programm zu loopen. Wie kann ich jedoch entscheiden, ob es Pipeline-Eingabe gibt, wenn es keine Pipeline-Eingabe gibt Ich verwende Umgebungsvariable, um eine Datei zu laden. Ich versuche zu verwenden:Wie kann man wissen, ob Pipelines Eingang in ein Perl-Programm sind
my @lines = (<>);
if ($#lines == -1) {
use setenv;
open FILE, "$ENV{'ART_FILE_LIST'}" or die $!;
@lines = <FILE>;
}
Offensichtlich ist es nicht funktioniert, weil das Programm in der ersten Zeile wartet
Das 'setenv verwenden' tut nichts. – tchrist
Verwenden Sie setenv ist mein benutzerdefiniertes Modul zum Einrichten von Umgebungsvariablen einschließlich ART_FILE_LIST. Es ist in der Tat nicht relevant für die Frage. –