Angenommen, ich habe eine Datendatei, die ich verarbeiten möchte; Ich möchte den maximalen Wert jeder Spalte nehmen und ihn an das Ende jeder Zeile anhängen.
Ich versuche das als One-Liner zu implementieren. So weit ist das, was ich mir ausgedacht habe, obwohl es beklagt, dass &main::max
nicht definiert ist:
Es scheint, dass ich das List::Util
Modul nicht geladen habe. Was ist los mit dir? Und ist die Header-Spalte ein Problem?
perlrun hat kein anschauliches Beispiel dafür, wie dies zu tun ist ( eigentlich ist es, meine Dokumentation war ein wenig schwer zu lesen ).
Sie haben List::Util
geladen, aber das Modul exportiert standardmäßig keine Symbole. Überspringen Sie die Kopfzeile, indem Sie prüfen, ob $.
1 ist.
Die perlrun Dokumentation erklärt:
Ein wenig eingebauter syntaktischer Zucker bedeutet, dass Sie auch -mmodule = foo, bar oder -Module = foo, bar als Abkürzung für
-Mmodule qw(foo bar)
angeben können. Dies vermeidet die Verwendung von Anführungszeichen beim Importieren von Symbolen. Der tatsächliche Code, der von -Module = foo, bar generiert wird, istuse module split(/,/,q{foo,bar})
. Beachten Sie, dass das=
-Form die Unterscheidung zwischen -m und -M entfernt.
List :: Util wurde geladen, exportiert jedoch standardmäßig nicht die Funktion max
: