[Perl] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. GAVVVR

    GAVVVR Elder - Старейшина

    Joined:
    8 Apr 2008
    Messages:
    60
    Likes Received:
    0
    Reputations:
    0
    Hi a11!
    У меня нубский вопрос, но всё же.
    Подскажите, где взять нормальный учебник на русском. Нормальный - это значит не насканеные и плохо обработанные в файнридере, а хорошия учебник для НУБа, чтобы без ошибок и желательно чтобы легко воспринемаемый текст был. Я хочу изучить язык, но очень долго приходится париться из за ошибок в учебнике.
    ЗЫ не надо говорить, что учебник нужно купить в магазине. Я в деревне живу сейчас. Не тут таких магазов. Мне желательно ссылки на материал в электронном виде =).
    ЗЫЫ Хочу изучить PERL, чтобы писать скрипты, которые позволяли бы брать информацию с веб форм и творить с ней, что хочу), поэтому учебник хочу найти на подобную тематику
    Заранее спасибо. И спасибо за внимание =)
     
  2. Велемир

    Joined:
    19 Jun 2006
    Messages:
    1,123
    Likes Received:
    96
    Reputations:
    -25
    пасиииба:Д
     
  3. svesve

    svesve Elder - Старейшина

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11
    Люди,кто знает?!?!? как цикле foreach поставить таймер??? чтоб если цикл идет долго то он обрывался и переходил дальше
     
  4. biophreak

    biophreak Elder - Старейшина

    Joined:
    3 Aug 2007
    Messages:
    348
    Likes Received:
    63
    Reputations:
    15
    Смотря что подразумеваешь под таймером...можно сделать так...
    Записываешь в переменную время начала витка цикла, потом по аларму проверяешь разницу во времени начала цикла и текущего, если разница больше определенного значения, то чтото типа next MARK
    Короче чтото типа
    Code:
    our $start;
    MARK:
    foreach(@mas)
    {
       $start = time;
       alarm(1);
       print $_;
       $start = undef;
    }
    
    local $SIG{'ALRM'} = \&check_alarm;
    sub check_alarm
    {
       next MARK if((time - $start) > 30 and defined $start); # 30 секунд
       alarm(1);
    }
    
    ЗЫЖ Сорри, если че - не проверял, да и не совсем вменяем щас %)))
     
  5. svesve

    svesve Elder - Старейшина

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11
    Вот скрипт который делает запрос на сервак,иногда запрос очень долго обрабатывается и его надо рубить чтоб скрипт не завершился по таймауту

     
  6. biophreak

    biophreak Elder - Старейшина

    Joined:
    3 Aug 2007
    Messages:
    348
    Likes Received:
    63
    Reputations:
    15
    Ну дык попробуй то, что я написал выше, может только незначительные поправки будут....дерзай
     
  7. svesve

    svesve Elder - Старейшина

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11
    К сожалению не получилось ( всеравно запрос ждет ответа и не обрубается(
    есть еще идеи?
     
  8. biophreak

    biophreak Elder - Старейшина

    Joined:
    3 Aug 2007
    Messages:
    348
    Likes Received:
    63
    Reputations:
    15
    Хм...сорри, забыл, ОСь какая?
    Это работает только на никсах ))
     
  9. svesve

    svesve Elder - Старейшина

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11
    на win2k3 сервак
    блин все уже перепробовал ниче не получается.
     
  10. ZET36

    ZET36 Elder - Старейшина

    Joined:
    8 Oct 2007
    Messages:
    250
    Likes Received:
    49
    Reputations:
    0
    хочу заюзать модуль Net::FTP::File http://search.cpan.org/~dmuey/Net-FTP-File-0.05/File.pm для передачи файла со своего компа на свой ftp сервер


    Code:
    use Net::FTP::File;
    
    my $ftp = Net::FTP->new("fanera.6te.net", Debug => 0) or die "Cannot connect to some.host.name: $@";
    $ftp->login("fanera.6te.net",'6d9dh87') or die "Cannot login ", $ftp->message;
    
    $file="3.txt";
    $newfile="4.txt";
    
    
    $ftp->copy($file,$newfile) or warn $ftp->message;
    $ftp->chmod(777, $newfile) or warn $ftp->message;
    но пишет


    в чём проблема? может я неправильно указываю пути к файлам?
     
    #610 ZET36, 9 Jul 2008
    Last edited: 9 Jul 2008
  11. zythar

    zythar Elder - Старейшина

    Joined:
    16 Feb 2008
    Messages:
    517
    Likes Received:
    109
    Reputations:
    5
    тоесть такого файла не существует. почему? хз. наверное нормально не зааплодилось
     
  12. True

    True Banned

    Joined:
    7 Jun 2008
    Messages:
    1
    Likes Received:
    29
    Reputations:
    -8
    в винде не работает функция alarm
     
  13. GAVVVR

    GAVVVR Elder - Старейшина

    Joined:
    8 Apr 2008
    Messages:
    60
    Likes Received:
    0
    Reputations:
    0
    Не игнорьте мой нубский вопрос, пожалуйста. 601 ый пост в этой теме
     
  14. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    perldoc
     
  15. Велемир

    Joined:
    19 Jun 2006
    Messages:
    1,123
    Likes Received:
    96
    Reputations:
    -25
    #!usr/bin/perl

    $proc = fork();

    if ($proc == 0 ) {

    print "This is a child process!" or die "Can`t create new process!";
    open("STDOUT,>status.txt");
    exec("cd C:\");
    exec("dir");
    close(STDOUT);

    }

    else {

    print "This is parent process!";

    }

    Находит кучу ошибок)).Так как Unix-a нету,приходится импровизировать:)).Может кто подскажет,как использовать exec() в винде?)
     
  16. genom--

    genom-- Elder - Старейшина

    Joined:
    9 Jul 2006
    Messages:
    668
    Likes Received:
    416
    Reputations:
    288
    велемир форки это не настоящие процессы лудше сразу пробуй с use threads;
    use threads::shared; - у ксури была хорошая статья по ним -- поищи --
    что касается exec()
    то в ковычках `cd C:` или qx{}
     
  17. Велемир

    Joined:
    19 Jun 2006
    Messages:
    1,123
    Likes Received:
    96
    Reputations:
    -25
    Спасибо,попробую )))
     
  18. usr

    usr Banned

    Joined:
    10 Jul 2008
    Messages:
    4
    Likes Received:
    2
    Reputations:
    0
    да что ты говоришь. если геном не идет к книжке, то книжка идёт к геному :D
    [​IMG]
     
  19. genom--

    genom-- Elder - Старейшина

    Joined:
    9 Jul 2006
    Messages:
    668
    Likes Received:
    416
    Reputations:
    288
    usr - и вот че вы молодешь все такие наглые ??
    ну вот почитай сравнение fork и threads(придется подписаться) поищи еще в нете много статей мне некогда --- треды полюбому дают больше возможностей но с ними надо еще научиться обращаться а вам ведь как всегда лень ))
    http://av5.com/journals-magazines-online/1/49/502
     
    1 person likes this.
  20. usr

    usr Banned

    Joined:
    10 Jul 2008
    Messages:
    4
    Likes Received:
    2
    Reputations:
    0
    >usr - и вот че вы молодежь все такие наглые ??
    не наглые, а объективные, да и не молодежь я тебе
    >ну вот почитай сравнение fork и threads
    мы не о сравнении их, мы о том что: "велемир форки это не настоящие процессы лудше сразу пробуй с use threads" хотя на самом деле fork как раз таки создает настоящий процесс, а threads - это потоки интерпретатора
    >еще в нете много статей
    да нахер мне эти статьи, когда я тебе привел страницу из книги автора языка - ларри уолла

    upd: тебе то может и пох на то как писать, ты брутеры мыл за плюсеки пишешь, а вот велемир может быть хочет стать настоящим Perl хакером, и с твоей стороны вводить его в заблуждение - не есть хорошо.
     
    #620 usr, 10 Jul 2008
    Last edited: 10 Jul 2008
Thread Status:
Not open for further replies.