Klaus: Regulärer Ausdruck

Hi,
ich möchte wissen, ob in $text z.B. einer der Texte aaa, bbb, ccc, ... oder zzz enthalten ist.
Das habe ich so gemacht:
$text =~ /aaa|bbb|ccc|....|zzz/;

Wie weiß ich nun, welcher der Texte gefunden wurde?
Viele Grüße
Klaus

  1. $text =~ /aaa|bbb|ccc|....|zzz/;
    Wie weiß ich nun, welcher der Texte gefunden wurde?

    Wenn der Unterschied die Abarbeitung bestimmt:

    for($text){  
      /aaa/ and do{...} and last;  
      /bbb/ and do{...} and last;  
      #...  
    }
    

    oder

    my %displatch=(  
       aaa=>sub{},  
       bbb=>sub{},  
       ccc=>sub{ return 42 },  
    );  
      
    $text =~ /(aaa|bbb|ccc|....|zzz)/  
       and exists $dispatch{$1}  
       and $dispatch{$1};  
    
    

    mfg Beat

    --
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    Der Valigator leibt diese Fische
  2. Hallo Klaus!

    ich möchte wissen, ob in $text z.B. einer der Texte aaa, bbb, ccc, ... oder zzz enthalten ist.
    Das habe ich so gemacht:
    $text =~ /aaa|bbb|ccc|....|zzz/;

    Wie weiß ich nun, welcher der Texte gefunden wurde?

    http://de.selfhtml.org/perl/sprache/vordefiniert.htm#skalare -> schau nach der Bedeutung von $`, $& und $'.

    Wie ein guter Wein: In Maßen, nicht in Massen, genießen - sie kosten Performance.

    Viele Grüße aus Frankfurt/Main,
    Patrick

    --
    _ - jenseits vom delirium - _

       Diblom   [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
    Achtung Agentur! | Nichts ist unmöglich? Doch! | Heute schon gegökt?
  3. Ich habe die unkomplizierteste und beste Lösung.

    my ($ergebnis) = $text =~ /(aaa|bbb|ccc|....|zzz)/;

    1. Hallo!

      Ich habe die unkomplizierteste und beste Lösung.

      my ($ergebnis) = $text =~ /(aaa|bbb|ccc|....|zzz)/;

      Interessant!
      Frage: Wozu dienen die Klammern um $ergebnis?
      Gruß
      Klaus

      1. my ($ergebnis) = $text =~ /(aaa|bbb|ccc|....|zzz)/;

        Frage: Wozu dienen die Klammern um $ergebnis?

        Du erzeugst damit auf der linken Seite einen Listenkontext
        Im Scalarkontext würdest du nur die Anzahl der Matches, nicht aber die Liste der Matches zugewiesen erhalten.

        mfg Beat

        --
        ><o(((°>           ><o(((°>
           <°)))o><                     ><o(((°>o
        Der Valigator leibt diese Fische
        1. Danke an alle!
          Klaus