Parameter String parsen

21/07/2011 - 18:16 von Guido Ostkamp | Report spam
Hallo,

ich möchte einen Haufen von Kommandozeilen Strings parsen.
Aus einer Datei lese ich z.B. Zeilen in der Form

cmd1 -a -b -c 12 -d 456 -e ...
cmd2 -b 56 -M Blabla ...
...

Normalerweise würde ich eine der Getopt Varianten wàhlen, aber diese
erwarten ihren Input immer in @ARGV und setzen überwiegend globale
Variablen; Sinn und Zweck ist also die Parameterauswertung für das
eigene gerade laufende Programm.

Im Moment habe ich mir mit regular expressions geholfen, um das
Vorhandensein und die Werte einzelner Parameter zu erfassen,
allerdings funktioniert das nur solange, wie die Reihenfolge der
Parameter nicht geàndert wird.

Gibt es irgendwo Getopt-àhnliche Verfahren, die mich einfach einen
$cmdstring analysieren lassen?

Gruß

Guido
 

Lesen sie die antworten

#1 Tim Landscheidt
21/07/2011 - 19:17 | Warnen spam
"Guido Ostkamp" wrote:

ich möchte einen Haufen von Kommandozeilen Strings parsen.
Aus einer Datei lese ich z.B. Zeilen in der Form

cmd1 -a -b -c 12 -d 456 -e ...
cmd2 -b 56 -M Blabla ...
...

Normalerweise würde ich eine der Getopt Varianten wàhlen, aber diese
erwarten ihren Input immer in @ARGV und setzen überwiegend globale
Variablen; Sinn und Zweck ist also die Parameterauswertung für das
eigene gerade laufende Programm.

[...]

Gibt es irgendwo Getopt-àhnliche Verfahren, die mich einfach einen
$cmdstring analysieren lassen?



Die man page meines Getopt::Long 2.37 kennt Abschnitte
"Parsing options from an arbitrary array/string". Nur um das
"cmd1"/"cmd2" müsstest Du Dich natürlich kümmern.

Tim

Ähnliche fragen