Pokaż wyniki 1 do 4 z 4

Temat: Zatrzymywanie sie skryptu

  1. #1

    Domyślnie Zatrzymywanie sie skryptu

    Kod:
    #!/usr/bin/perl
    $i=0;
    while(1)
    {
    if($txt = <STDIN>)
    {
    print $txt;
    }
    print $i;
    $i++;
    }
    Chcial bym zrobic cos zeby skrypt zatrzymywal sie tylko wtedy gdy bedzie cos w $txt tzn gdy wpisze cos podczas wykonywania petli a jesli bedzie puste automatycznie sie nie zatrzymywal tylko wyswietlal liczbe wykonan petli. Chyba wystarczajaco jakos to opisalem. Bede wdzieczny za pomoc.

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

    Domyślnie

    Petla while(1) bardzo obciaza procesor, po prostu mieli w kolko i zajmuje 100% procka - odradzam. Jesli juz musisz tak to select() bedzie Twoim przyjacielem.

    Wracajac do tematu...

    Kod:
    #!/usr/bin/perl
    $i=0;
    while (<STDIN>) {
       # dane z STDIN sa wczytywane do domyslnej zmiennej $_
       # pomin puste linie, tzn nie zawierajace [a-zA-Z0-9]
       next if !/\w/;
       # jesli linia zawiera exit, quit, koniec lub end, to zakoncz program
       # wyjscie z petli while przy uzyciu last()
       last if m/exit|quit|koniec|end/i;
       print "$_$i\n";  # $_ konczy sie \n wiec bedzie nowa linia i odpiero $i
       $i++;
    }
    print "KONIEC\n";
    czy cos wytlumaczyc?
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  3. #3

    Domyślnie

    Szukalem w googlach o select() i raczej nie widze mozliwosci uzycia select() zamiast while(1).

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

    Domyślnie

    Szukam kodu w moich archiwch... ostatnio uzywalem tego w programie w 2002 roku i gdzies na pewno mam jeszcze kopie... brb


    EDIT:
    Nie moge znalezc mojego kodu... ale znalazlem kawalek z manuala...

    Cytat Napisał http://perldoc.perl.org/IO/Select.html
    select ( READ, WRITE, EXCEPTION [, TIMEOUT ] )

    select is a static method, that is you call it with the package name like new . READ , WRITE and EXCEPTION are either undef or IO::Select objects. TIMEOUT is optional and has the same effect as for the core select call.
    Dziala to o tyle fajnie, ze wybiera z bazy otwartych uchwytow (np plikow, socketow, itd) tylko te do ktorych mozna pisac, czytac itd... i robi to co jakis czas, np 0.25sek i to nie zajmuje procka tak jak petla
    Kod:
    while (1) {}
    czy

    Kod:
    for (;;) {}
    Ostatnio edytowane przez TQM : 07-30-2008 - 10:08
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

Podobne wątki

  1. Pomozcie w zmianie skryptu (przesuwana galeria)
    By dziku20 in forum Java Script/Flash/Inne
    Odpowiedzi: 0
    Autor: 07-22-2008, 23:07
  2. Komenda do skryptu
    By tytanion in forum Newbie - dla początkujących!
    Odpowiedzi: 3
    Autor: 04-07-2008, 17:56

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