Ich habe eine Zeichenfolge mit möglichen Befehlszeilenargumenten (mit einem Read-Eval-Print-Loop-Programm) und möchte, dass sie ähnlich wie die Befehlszeilenargumente analysiert wird, wenn sie an Getopt :: Long übergeben werden.
Um zu erläutern:
Ich habe eine Zeichenfolge
%Vor%Ich möchte, dass es von GetOptions geparst wird, damit ich neue Optionen hinzufügen kann.
Eine Problemumgehung, die ich mir vorstellen kann, besteht darin, die Zeichenfolge in Leerzeichen aufzuteilen und @ARGV durch ein neues Array zu ersetzen und dann GetOptions aufzurufen. etwas wie ...
%Vor%Gibt es einen guten / besseren Weg?
Lesen Sie den Abschnitt Analyseoptionen aus einer beliebigen Zeichenfolge in der Manpage für Getopt :: Long finde ich, dass es genau das ist, wonach du suchst.
Verwenden Sie anstelle der Aufteilung auf Leerzeichen die integrierte Glob-Funktion. Zusätzlich zur Aufteilung in Whitespaces führt das die Standard-Befehlszeilenerweiterungen durch und gibt dann eine Liste zurück. (Zum Beispiel würde * eine Liste von Dateien usw. geben.) Ich würde auch empfehlen, @ARG nach dem allgemeinen Prinzip zu lokalisieren.
Ansonsten können Sie das nur tun, ohne GetOptions neu zu schreiben. (Ich muss die Dokumentation natürlich besser lesen.)
Wow !!!
Ich denke, ich kann sowohl die Antworten von Bentilly als auch von Dinomite verwenden und folgendes tun:
Code sieht möglicherweise so aus ...
%Vor%Und das ist nur eine Zeile .. cool (Ich weiß, ich muss einige Fehler überprüfen usw.) .. aber es ist cool ...
Tags und Links perl getopt-long