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

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

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

    TikTik Member

    Joined:
    20 Feb 2009
    Messages:
    241
    Likes Received:
    12
    Reputations:
    2
    А как зациклить действие чтоб оно повторялось каждые к примеру 2 минуты

    Code:
    #!/usr/bin/perl
    use CGI::Carp qw(fatalsToBrowser);
    use LWP::Simple;
    
    my $doc = get("Сайт.ру");
    
    
    while(defined($doc)){
     print $doc;
    sleep 180;
    }
     else{
      print "Не удалось получить";
    }
    вот так вот делаю что то не получается :(
     
  2. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Синтаксические ошибки исправь. perl ведь тебе всё английским языком объяснил.
     
  3. TikTik

    TikTik Member

    Joined:
    20 Feb 2009
    Messages:
    241
    Likes Received:
    12
    Reputations:
    2
    подскажите пожалуйста как вбить сюда адрес и нажать на отправку

    http://24hr-computersecurity.com/index.php?q=
     
    #1623 TikTik, 13 Sep 2010
    Last edited: 13 Sep 2010
  4. InDuStRieS

    InDuStRieS Banned

    Joined:
    15 Mar 2009
    Messages:
    526
    Likes Received:
    253
    Reputations:
    32
    Для чего это и что именно этот код делает:
    Code:
    $com = <>; #Считать в $com
    chmod ($com); #Убрать всё лишнее
    
    ввожу например r ,а во второй раз r ввожу закрывается,для чего вообще это?
     
    #1624 InDuStRieS, 21 Sep 2010
    Last edited: 21 Sep 2010
  5. Fepsis

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

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Мои экстрасенсорные способности подсказывают, что вместо chmod имеется ввиду chomp, ибо именно chomp "убирает всё лишнее", а именно знак переноса строки...
     
  6. InDuStRieS

    InDuStRieS Banned

    Joined:
    15 Mar 2009
    Messages:
    526
    Likes Received:
    253
    Reputations:
    32
    можешь пример показать?я не совсем понял
     
  7. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Не понимаю, как тут можно не понять
    Code:
    $com = <>; #Считать в $com
    chomp ($com); #Убрать всё лишнее
    
     
  8. Fepsis

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

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Обычный гет запрос, параметру q передаём урл страницы под бейс64...

    Code:
    #!/usr/bin/perl 
    
    use MIME::Base64;
    use LWP::UserAgent;
    use HTTP::Cookies;
    
    my $ua = LWP::UserAgent->new;
    $ua->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.19) Gecko/2010031422 Firefox/3.0.19");
    
    my $url = 'http://2ip.ru';
    
    $ex = $ua->get('http://24hr-computersecurity.com/index.php?q='.encode_base64($url))->content();
    
    open(OUT, '> result.htm');
    print OUT $ex;
    close(OUT);
     
  9. daniel_1024

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

    Joined:
    15 Jul 2009
    Messages:
    260
    Likes Received:
    227
    Reputations:
    386
    подскажите, есть ли возможность задания прокси при подключении к jabber-серверу используя модули Net:XMPP или Net:Jabber
     
  10. Vlad&slav

    Vlad&slav Member

    Joined:
    1 Jan 2009
    Messages:
    207
    Likes Received:
    41
    Reputations:
    9
    Вот так я создаю потоки
    for(1..$threads) { $thread[$_] = threads->create(\&main); sleep 15 }
    for(1..$threads) { $thread[$_]->join; }

    мне нужно по звершению цикла до $threads
    начать разрушать первый поток и снова запускать первый потом разрушить второй и снова запустить второй. по завершению разрушать первый поток и так до бесконечности

    типа я написал что-то к чему стремлюсь
    PHP:
    use Threads;
    use 
    Threads::shared;

    my $threads 20# количество потоков
    my @thread;

    my $i 1;
    while(
    true)
    {
    $thread[$i] = # тут надо разрушить поток $i
    $thread[$i] = threads->create(\&main($i));
    $thread[$i]->join;
    print 
    "[+] >> $i\n";
    sleep 15;
    $i=$i+1;
    if(
    $i $threads$i=1;
    }

    sub main()
    {
    while(
    true) {
    my $param $_[0];
    print 
    "[!] >> $param\n";
    sleep(5);
    }
    }
     
  11. [none]

    [none] Banned

    Joined:
    22 Nov 2009
    Messages:
    83
    Likes Received:
    26
    Reputations:
    -6
    подкиньте инфы по юзанью перла на xchat
    нашел тока http://xchat.org/xchatdox2.html это.
     
  12. mazaxaka

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

    Joined:
    15 Feb 2008
    Messages:
    268
    Likes Received:
    35
    Reputations:
    0
    Добрый вечер.

    Вопрос.

    есть сайт нужно спарсить номера , от 1 до 10. ето сделал. но скрипт парсит только 1 значение сохраняет его и завершает работу.

    пример страници




    моя регулярка





    на 1 странице 5 номеров. при переходе по другим страницам также сохраняет только 1 найденое значение игнорируя остальные
     
  13. toX1k

    toX1k New Member

    Joined:
    18 Sep 2010
    Messages:
    2
    Likes Received:
    0
    Reputations:
    -1
    пользуйтесь циклом
    while ($resp) {
    print ~ /"avatar" href="http:\/\/\/user\/([0-9]{1,10})" target="_blank">/g;}

    такой шаблон, подгоните под синтаксис
     
  14. Fepsis

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

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Сохраняй результат не в переменную, а в массив:

    my (@ids) = $resp =~ /"avatar" href="http:\/\/\/user\/([0-9]{1,10})" target="_blank">/g;
     
    1 person likes this.
  15. mazaxaka

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

    Joined:
    15 Feb 2008
    Messages:
    268
    Likes Received:
    35
    Reputations:
    0
    в цикле он 5 раз скопирует одно значение!

    Fepsis благодарю. + тыкнул.


    Все бы хорошо. print выводит все 5 значений правдо не в столбец а в строку(через пробел) а в файл сохраняется только 1 значение.

    Извеняйте за нубские с вопросами. с масивами давно не работал уже забыл все


    проблему решил.


    На повестке дня 2 вопроса

    1 теперь вопрос. чтобы не делал постояно в строку все записывает. а мне нужно подряд в столбец

    2 открываю .тхт в базой собраный номеров. делаю post запрос с подстановкой номера (в цикле) он по кругу гоняет 1 номер из тхт файла а остальные не трогает

    открываем
    проходимся по списку номеров в базе
     
    #1635 mazaxaka, 14 Oct 2010
    Last edited: 15 Oct 2010
  16. YuNi|[c

    YuNi|[c Elder - Старейшина

    Joined:
    17 Sep 2006
    Messages:
    293
    Likes Received:
    33
    Reputations:
    18
    priv
    я вообще незнаю пока про перл но может кто поможет с парсером строчек вида:

    aXZhbkBsYW5kaXQuZGs=6Q&bW
    b2RpbnNkYW5keUB5YWhvby5kaw===H[Ut
    c3RlcHBpbmdnYWFyZEBob3RtYWlsLmNvbQ==o]1&X
    dGhpbGxlbWFuQGhvdG1haWwuY29tDj0vX
    ZWxseUBwb3N0NS50ZWxlLmRrrzrEA
    YWxsYW5tZWxsZXJAaG90bWFpbC5jb20=bSaB3
    SG9ncmViZUBob3RtYWlsLmNvbQ==8w1hj
    bGVhaGNpbUBjaGlja3MuZGs=QAoOH
    bmtiQHRoZWZpc2guZGs=NdYgY
    a2VzMTk3N0Btc24uY29t7ROc?
    aWIucmlpc2FnZXJAbWFpbC50ZWxlLmRrg4MSX
    bWtwQGxhbmRiby1saW1mam9yZC5kaw==1zeZu
    QmVudF9qZW5zQGhvdG1haWwuY29tLIHly
    am9obm55bWFkc2VuMjAwMUBob3RtYWlsLmNvbQ==1CglZ
    YWxsYW5Acm9lbWVycy1pbmMuZGs=t5CuW
    bXIuaWJAa29sZGluZy5ieW5ldC5kaw==k8c}n

    тут список мейлов в base64
    Скрипту надо как то построчно декодит и игнорировал все символи если там после символа = или == или ===, а если строка без =/== то декодил строку целиком.
    Думаю это пару строк для тех кто хорошо разбирается в перле.
    Если кто поможет с сорцом буду благодарен или если есть где нит ссылка на парсер таких списков то киньте линк.

    Заранее спс
     
  17. mazaxaka

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

    Joined:
    15 Feb 2008
    Messages:
    268
    Likes Received:
    35
    Reputations:
    0
    /([a-z0-9A-Z=+\/]{1,24})=/

    вот тебе регулярка. то что подсвечено выставиш минимальное и максимальное количество символов в строчке
     
    #1637 mazaxaka, 15 Oct 2010
    Last edited: 15 Oct 2010
  18. YuNi|[c

    YuNi|[c Elder - Старейшина

    Joined:
    17 Sep 2006
    Messages:
    293
    Likes Received:
    33
    Reputations:
    18
    спс но я даже хз куда ставит эту регулярку :confused:
     
  19. Catbert

    Catbert Banned

    Joined:
    29 Jun 2010
    Messages:
    80
    Likes Received:
    27
    Reputations:
    10
    Code:
    use MIME::Base64;
    
    open(IN, '<lines.txt') || die $!;
    open(OUT, '>>result.txt') || die $!;
    while(<IN>)
    {
    	my $tmp = $_ =~ /^(.+=)/ ? decode_base64($1) : decode_base64($_);
    	$tmp =~ s/[^\w\-\.\@]//g;
    	print OUT $tmp,$/;
    }
    close IN;
    close OUT;
    
     
    1 person likes this.
  20. toX1k

    toX1k New Member

    Joined:
    18 Sep 2010
    Messages:
    2
    Likes Received:
    0
    Reputations:
    -1
    print "$1\n"
     
Thread Status:
Not open for further replies.