Kurt Z: String Zeilenweise durchlaufen

Beitrag lesen

Hallo

$_ = chomp($_).",WORT2\n" if($_ =~ /[1]*[^#]?\WORT1\b/ and $check = 1);
........................................................................^
Das ist hier eine Wertzuweisung, keine Überprüfung/Vergleich (==).

hmm, wer so coded ist bestimmt kein Anfänger, aber leider auch kein Profi ...

stell dir vor du schaust dir den Code in einem halben Jahr nochmal an, dann wirste erstmal in die gleiche Falle tappen wie Patrick.

Du verbiegst dir nix wenn du stattdessen schreibst

if( $_ =~ /[2]*[^#]?\WORT1\b/ ) {
    $_ = chomp($_).",WORT2\n";
    $check = 1;
}

übrigens der Witz beim $_ ist es ihn möglichst oft einzusparen, wenn
du ihn immer explizit nutzt dann nimm lieber einen sprechenden Variablennamen wie $zeile.

deine RegEx ist etwas kryptisch, klamüsern wirs auseinander

  
m{  
  ^            # anfang der Zeile  
  [ \t]*       # beliebig viele Whitespaces, warum nicht \s* ?  
  [^#]?        # ein oder kein Zeichen dass nicht # ist  
  \W           # ein nicht Wort zeichen  
  ORT1         # diese Zeichenkette  
  \b           # Wortgrenze  
}x  
  

ORT1 naja wohl ein schreibfehler???

das ist übrigens ein gültiger RegEx Code dank des x Flags kannste Leerzeichen und Kommentare einfügen und mit {} statt // wirds auch lesbarer.

Bye
 Kurt


  1. \t ↩︎

  2. \t ↩︎

0 72

String Zeilenweise durchlaufen

Perl Anfänger
  • perl
  1. 0
    Horst
    1. 0
      Perl Anfänger
      1. 0
        Struppi
        1. 0
          Perl Anfänger
          1. 1
            Patrick Andrieu
            1. 0
              Perl Anfänger
              1. 0

                Nachtrag

                Perl Anfänger
              2. 0
                Patrick Andrieu
                1. 0
                  Perl Anfänger
                  1. 0
                    Patrick Andrieu
                    1. 0
                      Perl Anfänger
                      1. 0
                        Patrick Andrieu
                        1. 1
                          Siechfred
                          1. 0
                            Patrick Andrieu
                          2. 0
                            Perl Anfänger
                            1. 0
                              Patrick Andrieu
                              1. 0
                                Patrick Andrieu
                                1. 0
                                  MudGuard
                    2. 0
                      Perl Anfänger
              3. 0
                Struppi
                1. 0
                  Patrick Andrieu
                  1. 0
                    MudGuard
                    1. 0
                      Patrick Andrieu
                      1. 0
                        MudGuard
                        1. 0
                          Patrick Andrieu
                          1. 0
                            MudGuard
                            1. 0
                              Patrick Andrieu
                2. 0
                  Perl Anfänger
                  1. 0
                    Struppi
                    1. 0
                      Perl Anfänger
                      1. 0
                        Patrick Andrieu
                        1. 0
                          Perl Anfänger
                          1. 0
                            Kurt Z
                            1. 0
                              Perl Anfänger
                              1. 0
                                Patrick Andrieu
                              2. 0
                                Kurt Z
                    2. 0
                      Patrick Andrieu
                      1. 0
                        Struppi
                        1. 0
                          Patrick Andrieu
                          1. 0
                            Perl Anfänger
                            1. 0
                              Patrick Andrieu
            2. 0
              Siechfred
              1. 0
                Patrick Andrieu
                1. 0
                  Siechfred
                  1. 0
                    Struppi
                    1. 0
                      Siechfred
                  2. 0
                    Patrick Andrieu
          2. 0

            so in der Art?

            Kurt Z
            1. 0
              Kurt Z
              1. 0
                Perl Anfänger
              2. 0
                Siechfred
                1. 0
                  Kurt Z
                  1. 0
                    Siechfred
                    1. 0
                      Kurt Z
                      1. 0
                        Siechfred
                        1. 0

                          Iterartorvariable

                          Kurt Z
                          1. 0
                            Siechfred
                            1. 0
                              Kurt Z
              3. 0
                Perl Anfänger
                1. 0
                  Kurt Z
                  1. 0
                    Perl Anfänger
                    1. 0
                      Kurt Z
                      1. 0
                        _Perl_ Anfänger ;-)
                        1. 0
                          Kurt Z
                          1. 0
                            Perl Anfänger
                            1. 0
                              Kurt Z
                              1. 0
                                Perl Anfänger
                                1. 0
                                  Siechfred
                                  1. 0
                                    Kurt Z
                                  2. 0
                                    Perl Anfänger
                                2. 0
                                  Kurt Z