Parameter: String mit Semikolon
mj
- perl
0 seth0 mj
Hallo,
ich schreibe gerade ein bisschen Perl-Code und bin dabei auf ein Problem in der Parameterübergabe gestoßen. Und zwar passiert der Aufruf mit
datei.pl command="ALTER DATABASE DATAFILE '/db/VBCSP/dat_01/dbf/cont_098.dbf' RESIZE 359186432;ALTER DATABASE DATAFILE '/db/VBCSP/dat_04/dbf/cont_040.dbf' RESIZE 2133360640;ALTER DATABASE DATAFILE '/db/VBCSP/dat_05/dbf/cont_060.dbf' RESIZE 2646523904;"
Nun will ich den Parameter in eine Datenbank schreiben und erhalte natürlich nur einen command-String, der bis zum ersten Semikolon geht.
Meine Frage: Wie bekomme ich alles innerhalb der doppelten Anführungszeichen? Die Suche hat mich zu keinem hilfreichen Ergebnis geführt :-/.
Liebe Grüße
mj
gudn tach!
Nun will ich den Parameter in eine Datenbank schreiben und erhalte natürlich nur einen command-String, der bis zum ersten Semikolon geht.
Meine Frage: Wie bekomme ich alles innerhalb der doppelten Anführungszeichen? Die Suche hat mich zu keinem hilfreichen Ergebnis geführt :-/.
ich habe die frage nicht verstanden. was hat das alles mit dem semikolon zu tun?
willst du bloss wissen, in welcher variable jegliche parameter drinstehen? das waere dann einfach @ARGV.
prost
seth
willst du bloss wissen, in welcher variable jegliche parameter drinstehen?
Vielleicht hab ich mich schlecht ausgedrückt. Mit
param('command')
hol ich mir den Parameter, da steht allerdings nur der Teil bis zum ersten Semikolon drin. Ich würde aber gerne den kompletten String (also bis inklusive letztem Semikolon) mit param('command') abfragen.
Hallo mj!
Vielleicht hab ich mich schlecht ausgedrückt. Mit
param('command')
hol ich mir den Parameter,
Meinst Du die Funktion »param()« vom CGI-Modul? Das Modul ist für die CGI-Schnittstelle entwickelt worden, die Parameter, die abgefragt werden, werden entweder per POST- oder GET-Methode (example.com/cgi-bin/datei.pl?command=foo) übermittelt.
Ob das dann bei Kommandozeilenaufrufe klappt, kann ich Dir nicht leider nicht sagen, wie man sieht, ist es doch nicht zuverlässig der Fall. Lieber dem Tipp von seth folgen!
Viele Grüße aus Frankfurt/Main,
Patrick
Danke euch beiden für die Antworten! Habe mit dem CGI-Modul gearbeitet (auch das hab ich vergessen zu erwähnen ;) und habe gehofft, dass ich damit arbeiten kann wie ich das üblicherweise bei Internetseiten mache.
Verwende jetzt allerdings @ARGV, wie von seth beschrieben. Danke also für den Denkanstoß =)!
Liebe Grüße
mj
Hi,
Verwende jetzt allerdings @ARGV, wie von seth beschrieben. Danke also für den Denkanstoß =)!
Hier ist noch einer:
Getopt
use Getopt::Std;
oder
use Getopt::Long;
Viele Grüße,
Hotte