Regexp geht nicht korrekt
Aquariophile
- perl
Hallo
Der Regexp geht ned wie ich will.
Bitte um Hilfe:
###############################################
bash-2.04$ perl -e '
$foo = "?ttt=sss&iii=aaa&jjjj=sdhw&ttds=lhr";
$foo =~ /?(.*)=(.*)&(.*)=(.*)&(.*)/;
print $1."\n";
print $2."\n";
print $3."\n";
print $4."\n";
print $5."\n";
'
ttt=sss&iii
aaa
jjjj
sdhw
ttds=lhr
bash-2.04$
#################################################
Rauskommen SOLLTE:
ttt
sss
iii
aaa
jjjj=sdhw&ttds=lhr
--
Danke
Aquariophile
Anhang:
Das Modul CGI.pm eignet sich für diesen zweck NICHT,
da die Variablen namen Random sind!
Hi,
Das Modul CGI.pm eignet sich für diesen zweck NICHT,
da die Variablen namen Random sind!
was hat das damit zu tun?
#!/usr/bin/perl -w
use strict;
use CGI ':standard';
print header('text/plain');
foreach (param) {
print $_, ' => ', param($_), "\n";
}
Cheatah
Moin!
bash-2.04$ perl -e '
$foo = "?ttt=sss&iii=aaa&jjjj=sdhw&ttds=lhr";
$foo =~ /?(.*)=(.*)&(.*)=(.*)&(.*)/;
.*? statt .*
perldoc perlre, dort nach "greedy" suchen.
So long
--
Alle Verallgemeinerungen sind falsch.
Moin, moin!
Versuche es mit
$foo =~ /?(.*?)=(.*?)&(.*?)=(.*?)&(.*)/;
Die Erklärung dazu findest Du unter http://selfhtml.teamone.de/cgiperl/sprache/regexpr.htm#gierig_genuegsam.
Norbert