Perl Anfänger: String Zeilenweise durchlaufen

Beitrag lesen

Hi!

ich möchte bei jeder Zeile prüfen, ob ein regulärer Ausdruck passt, wenn er passt, möchte ich am Ende dieser Zeile etwas anhängen
wenn der reguläre Ausdruck bei keiner Zeile zutrifft, möchte ich am Ende etwas einfügen

Du bist aber auch sparsam mit Auskünften...

Wo kommen die Daten her? Aus einer Datei? Dann ist while (<FILEHANDLE>) für ein zeilenweises Einlesen doch die bessere Wahl:

open (DATEI, ">>blubb.blabb") or die "Open failed: $!";
while (<DATEI>) {
  print DATEI "$_ und das was Du einfügen willst\n" if (/PATTERN/);
}
close DATEI;

Sollte eine neue Datei erstellt werden, mit den Änderungen, dann so:

open (DATEI, "originaldatei.foo") or die "Open DATEI failed: $!";
open (OUT, ">>neuedatei.bar") or die "Open OUT failed: $!";
while (<DATEI>) {
  print OUT "$_ und das was Du einfügen willst\n" if (/PATTERN/);
}
close OUT;
close DATEI;

sorry, dass das zuwenig Informationen waren!

bis jetzt habe ich folgenden Code

my @stdin = <STDIN>;

my $i;
for ($i = 0; $i < @stdin; $i++){
  $stdin[$i] = $stdin[$i] . ",WORT2\n" if($stdin[$i] =~ /[1]*#{0,0}\bWORT1\b/ );
}
$stdin[$i] = qq~WORT1 WORT2\n~;

...

for ($i = 0; $i < @stdin; $i++){
  print $stdin[$i];
}

Danke!


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