Pokaż wyniki 1 do 2 z 2

Temat: PERL kontynuacja petli w funckji wewn

  1. #1

    Domyślnie PERL kontynuacja petli w funckji wewn

    Witam,
    Nie mogę sobie poradzić z następującym problemem

    for $line (<FILE>) {
    if ($line =~ /^From /){
    }

    if ($line =~ /^Subject:/){
    }

    if ($line =~ /^X-UID:/){
    chciałbym tutaj wypisywać kolejne linie z FILE ale zaczynając od linii, która zawiera X-UID albo następującej po niej
    }
    }

  2. #2
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    Kod:
    my $gotUID = 0;
    while my $line (<FILE>) {
      if ($gotUID) { 
        print "$line";
        next;
      } elsif ($line =~ /^From /){
         # blablabla
      } elsif ($line =~ /^Subject:/) {
         # blablabla
      } elsif ($line =~ /^X-UID:/) {
         # blablabla
         $gotUID=1;
      }
    }
    Jesli na przyklad masz zmienne w stylu $From, $Subject, $UID to mozna i tak...

    Kod:
    my ($From, $Subject);
    my $UID = undef;
    while my $line (<FILE>) {
      chomp;  # obetnij \n alnbo \r\n bo inaczej $ w regexie nie zlapie konca linii :) przynajmniej pod windows
      if (defined $UID) { 
        print "$line\n";   # teraz dodajemy \n sami
        next;
      } elsif ($line =~ /^From /){
         # blablabla
      } elsif ($line =~ /^Subject:\s(.*?)$/) {
         $Subject = $1;
      } elsif ($line =~ /^X-UID: (.*?)$/) {
         $UID=$1;   # zapisz do zmiennej - juz jest zdefiniowana
      }
    }
    wtedy gdy juz zlapiemy UID i zmienna bedzie okreslona a nie undef to polecimy na skroty... rowniez uzylem elsif aby w dla kazdej linii byl sprawdzany 1 IF a nie cala seria nawet gdy wczesniejszy zostal juz dopasowany...
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

Podobne wątki

  1. Perl-echo.pl-smthg wrong?
    By Efraim in forum Perl/Python/TCL/Prolog
    Odpowiedzi: 12
    Autor: 11-14-2007, 17:03
  2. bot irc PERL
    By jaszu in forum Perl/Python/TCL/Prolog
    Odpowiedzi: 1
    Autor: 08-01-2007, 08:40
  3. Tworzenie katalogow.perl.foreach.
    By riczard_nikson in forum Perl/Python/TCL/Prolog
    Odpowiedzi: 1
    Autor: 01-19-2007, 21:54
  4. Perl - zamiast hashu wyświelta mi 00000000000
    By TexPac in forum Perl/Python/TCL/Prolog
    Odpowiedzi: 4
    Autor: 07-25-2006, 17:30
  5. Problem z Petla Perl
    By szpuni in forum Perl/Python/TCL/Prolog
    Odpowiedzi: 11
    Autor: 07-03-2006, 15:23

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj