Alexander (HH): GetOptions - Erstes Argument auslesen?

Beitrag lesen

Moin Moin!

Du kannst deinen Text aufteilen.
Dein Trennzeichen ist das Leerzeichen.
Geht mit der Funktion split:
http://tutor.hsz-t.ch/tutorials/perl-tutorial/split.html

Du arbeitest zu viel mit DOS und Windows. Perl ist ein Unix-Kind, das erwartet seine Kommandozeilenparameter säuberlich vom Aufrufer in ein Array aufgeteilt vorgesetzt zu bekommen. Unter DOS und Windows macht das die C RTL  halbwegs transparent noch vor dem Aufruf von main(), so dass Perl sich nie mit dem Parsen der Original-Kommandozeile herumschlagen muß.

Der etwas krude Name @ARGV kommt übrigens genau von dort: main() ist typischerweise als int main(int argc, char ** argv) deklariert, soll heißen: main bekommt einen Integer-Parameter argc "Argument Count" und einen Zeiger auf Character-Zeiger (C's Idee eines Array of String) argv "Argument Vector". Perls @ARGV ist exakt das, was main() als argv übergeben bekam, jedoch ist das erste Element, der Programmname, in $0 abgelegt. argc wird nicht explizit an Perl übergeben, denn Perl schleppt im Gegensatz zu C im Array immer dessen Länge mit.

Perl6 löst sich ein wenig mehr von C und nennt die Kommandozeilenparameter deutlich offensichtlicher @ARGS.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".