Aquariophile: Regexp geht nicht korrekt

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

  1. Anhang:

    Das Modul CGI.pm eignet sich für diesen zweck NICHT,
    da die Variablen namen Random sind!

    1. 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

  2. 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.

  3. Moin, moin!

    Versuche es mit
    $foo =~ /?(.*?)=(.*?)&(.*?)=(.*?)&(.*)/;

    Die Erklärung dazu findest Du unter http://selfhtml.teamone.de/cgiperl/sprache/regexpr.htm#gierig_genuegsam.

    Norbert