Beat: kl. Korrektur

Beitrag lesen

Ungetestet.
Konversion nach PHP als deine eigene Übung.

Achtung:
Ich habe übersehen, dass es sich um { } statt um ( ) handelt.

my $outerpar = qr/[a-z]+/;
my $innerpar = qr/[A-Za-z\ ]+/;
my $innerval = qr/(?:nil|{[^{}]+})/;

my $string =~ m/
   $outerpar
   \s*
   =
   \s*
   {
   (
      $innerpar
      , \s*
      $innerval
      (?:
        , \s*
        $innerpar
        , \s*
        $innerval
      )*
   )
   }
   /x;

komprimiert:

my $string =~ m/$outerpar\s*=\s*{($innerpar,\s*$innerval(?:,\s*$innerpar,\s*$innerval)*)}/;

mfg Beat

--
   <°)))o><                      ><o(((°>o