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

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

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

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

    Joined:
    31 Oct 2007
    Messages:
    274
    Likes Received:
    65
    Reputations:
    4
    Народ есть ли в Perl альтернатива file_get_content как в PHP
     
  2. ph1l1ster

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

    Joined:
    11 Mar 2008
    Messages:
    396
    Likes Received:
    153
    Reputations:
    19
    можно так

    Code:
    $answer->content =~ //
    или так:

    Code:
    if(index($answer->content,"")>-1)
     
    #1002 ph1l1ster, 31 Mar 2009
    Last edited: 31 Mar 2009
  3. Sharky

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

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    кури LWP
     
  4. zavra

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

    Joined:
    12 Mar 2008
    Messages:
    87
    Likes Received:
    48
    Reputations:
    23
    Посылаю запрос, только сервер не яндекс, я поменял, чтобы остаться в тайне -_-. Авторизацию по куки, поэтому отправляю туда свои куки. Почему в ответе только <html>?
    Когда я посылаю тот же самый запрос через плагин для мазилы (Live Headers), то открывается вполне полная страница.
    Спасибо
    [​IMG]
     
  5. KaZ@NoVa

    KaZ@NoVa Elder - Старейшина

    Joined:
    5 Jul 2008
    Messages:
    368
    Likes Received:
    438
    Reputations:
    -16
    Имеется ввиду file_get_contents? Если да, то, насколько я понял, эта функция имеет 2 назначения - побайтное чтение файла и чтение какого-либо URL.
    Для первого случая в Perl используется read. Посмотреть можно здесь - http://www.arininav.ru/js/perl11.htm.

    Во втором случае используется модуль LWP:

     
  6. m0nzt3r

    m0nzt3r моня

    Joined:
    22 Jun 2004
    Messages:
    2,096
    Likes Received:
    673
    Reputations:
    591
    zavra, зачем там POST запрос то? нука, попробуй GET
     
  7. eLWAux

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

    Joined:
    15 Jun 2008
    Messages:
    860
    Likes Received:
    616
    Reputations:
    211
    PHP:
    $header  "GET http://yandex.ru/login HTTP/1.1\r\n".
           
    "Host: yandex.ru\r\n".
           
    "..........\r\n".
           
    "Content-Length: 0\r\n\r\n";
    примерно так, хотя
    http://yandex.ru/login 404)
     
  8. zavra

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

    Joined:
    12 Mar 2008
    Messages:
    87
    Likes Received:
    48
    Reputations:
    23
  9. ph1l1ster

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

    Joined:
    11 Mar 2008
    Messages:
    396
    Likes Received:
    153
    Reputations:
    19
    Code:
    if ($answ=~m/Коментарии <i>\((\d+)\)<\/i>/ )[B][COLOR=Red]{[/COLOR][/B] print "$com"[COLOR=Red];[/COLOR][B][COLOR=Red]}[/COLOR][/B]
    а лучше сделай так:
    Code:
    my @com = $get->content =~ /Коментарии <i>\((\d+)\)<\/i>/g;
    print join "\n", @com;
    п.с нафига в скриншоте то?!
     
    #1009 ph1l1ster, 1 Apr 2009
    Last edited: 1 Apr 2009
  10. eLWAux

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

    Joined:
    15 Jun 2008
    Messages:
    860
    Likes Received:
    616
    Reputations:
    211
    $com = ($answ =~ /Коментарии <i>\((\d+)\)<\/i>/);
     
  11. zavra

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

    Joined:
    12 Mar 2008
    Messages:
    87
    Likes Received:
    48
    Reputations:
    23
    Code:
    my $name = $1 if $answ=~/<a href="\/users\/12\">(\S+)<\/a>/;
    my $com = $1 if $answ =~/Комментарии <i>\((\d+)\)<\/i>/;
    printf "$name"."$com"
    Ник мой он мне отдает, а комментарии нет.
    Попробовал два варианта ниже, ничего :(
     
  12. akil

    akil New Member

    Joined:
    3 Nov 2007
    Messages:
    9
    Likes Received:
    2
    Reputations:
    0
    У меня работает
    if(/Комментарии.+\((\d+)\)/) {print $1 . "\n"; }
     
  13. roddik

    roddik Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    13
    Reputations:
    0
    у тебя проблемы с кодировками, вызванные тем, что в первом регексе нету русских букв, а во втором - есть. сделай файл в утф8, пропиши в начале use utf8, юзай Encode чтобы сконвертить пагу в нужную кодировку, если сам не разберешься, скинь сюда нужный урл
     
  14. zavra

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

    Joined:
    12 Mar 2008
    Messages:
    87
    Likes Received:
    48
    Reputations:
    23
    страница-то и есть в утф8( а в какую "нужную"?
     
  15. flabber

    flabber New Member

    Joined:
    24 Jan 2007
    Messages:
    16
    Likes Received:
    4
    Reputations:
    0
    cp-1251 по идее...как там пишется нипомню...
     
  16. roddik

    roddik Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    13
    Reputations:
    0
    а в какой сорцы?
     
  17. zavra

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

    Joined:
    12 Mar 2008
    Messages:
    87
    Likes Received:
    48
    Reputations:
    23
    в утф-8
     
  18. roddik

    roddik Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    13
    Reputations:
    0
    стоит use utf8 в начале?
     
  19. zavra

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

    Joined:
    12 Mar 2008
    Messages:
    87
    Likes Received:
    48
    Reputations:
    23
    вот что пишет с use utf8
     
  20. ph1l1ster

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

    Joined:
    11 Mar 2008
    Messages:
    396
    Likes Received:
    153
    Reputations:
    19
    Немогу догнать как вытащить все внешние ссылки с сайта...
     
    #1020 ph1l1ster, 2 Apr 2009
    Last edited: 2 Apr 2009
Thread Status:
Not open for further replies.