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

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

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

    flabber New Member

    Joined:
    24 Jan 2007
    Messages:
    16
    Likes Received:
    4
    Reputations:
    0
    http://team-madalf.com/index.php?showtopic=59013
    http://www.xakep.ru/post/37614/default.asp
    http://event.perlrussia.ru/yr2008/talk/1285
    А вобще лудше "компилить"....
     
  2. $p01nt

    $p01nt Elder - Старейшина

    Joined:
    19 Feb 2008
    Messages:
    116
    Likes Received:
    20
    Reputations:
    1
    А есть ли возможность "скомпилить" perl скрипт который использует модули
    и если да, куда рыть?
     
  3. roddik

    roddik Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    13
    Reputations:
    0
    $p01nt, если надо спрятать сорцы, нормального способа для перла нету

    1. Heretic!
    2. Use Acme::Bleach
    3. There's perl2exe
    perl2exe isn't secure you ignorant wanker!
    yes it is
    No it isn't
    Well, that's not what it's for anyway
    4. B::Deparse will defeat any attempt at hiding source!

    пруфлинк http://www.perlmonks.org/?node_id=247543
     
  4. azgard

    azgard New Member

    Joined:
    4 Nov 2008
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Возникает проблема с gmail imap , когда надо обработать больше одного мыла в цикле.

    Ктонить сталкивался с данной проблемой?
     
  5. demond

    demond Member

    Joined:
    5 Nov 2008
    Messages:
    102
    Likes Received:
    22
    Reputations:
    5
    azgard, КОД в студию!
     
  6. demond

    demond Member

    Joined:
    5 Nov 2008
    Messages:
    102
    Likes Received:
    22
    Reputations:
    5
    Вот цитата из статьи "Регулярные выражения в Perl".
    s/(\$\w+)/$1/eeg
    В первой части этого выражения идет поиск скаляра, вычисляется его значение, и во второй части значение скаляра подставляется вместо самого скаляра.
     
    #986 demond, 14 Mar 2009
    Last edited: 14 Mar 2009
    1 person likes this.
  7. flabber

    flabber New Member

    Joined:
    24 Jan 2007
    Messages:
    16
    Likes Received:
    4
    Reputations:
    0
    $p01nt "threads::shared" не компилится или у меня руки кривые....А остальное ок вроди...
     
    1 person likes this.
  8. ph1l1ster

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

    Joined:
    11 Mar 2008
    Messages:
    398
    Likes Received:
    152
    Reputations:
    19
    Code:
    if ($get->content =~ /<a href=\"(.*)\">/)
    {
    print "$1\n";
    }
    выводит только первую найденную. как вывести все найденные?
     
  9. wildshaman

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

    Joined:
    16 Apr 2008
    Messages:
    530
    Likes Received:
    494
    Reputations:
    99

    PHP:
    preg_match_all('/<a href="(.*?)">/'$get->content$out);
    for (
    $i=0$i<count($out[1]); $i++)
    echo 
    $out[1][$i]."\n";
    Должно работат =)
     
  10. ph1l1ster

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

    Joined:
    11 Mar 2008
    Messages:
    398
    Likes Received:
    152
    Reputations:
    19
    perl желательно, но смысл понятен, полюбому можно неиспользую for. ток как?)
     
  11. akil

    akil New Member

    Joined:
    3 Nov 2007
    Messages:
    9
    Likes Received:
    2
    Reputations:
    0
    можно если написать
    Code:
    while($get->content){
      if (/<a href=\"(.*)\">/)
      {
         print "$1\n";
      }
    }
     
  12. demond

    demond Member

    Joined:
    5 Nov 2008
    Messages:
    102
    Likes Received:
    22
    Reputations:
    5
    Я бы сделал что-то типа такого:
    Code:
     print $1 while($get->content =~ /<a href=\"(.*)\">/igm); 
    А вообще в регулярных выражениях есть еще такая штука: \G - граница, на которой остановился предыдущий глобальный поиск, выполняемый командой m/.../g, может она поможет, если такой код не сработает!
     
  13. roddik

    roddik Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    13
    Reputations:
    0
    Code:
    my @arr = $get->content =~ /<a href=\"(.*)\">/g;
    print join "\n", @arr;
     
  14. KaZ@NoVa

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

    Joined:
    5 Jul 2008
    Messages:
    373
    Likes Received:
    444
    Reputations:
    -16
    Попробуй вместо 1 написать all
     
  15. roddik

    roddik Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    13
    Reputations:
    0
    Code:
    my $a = q[f549ty3945g9h48hg34hg430ghgh4gh3470gh473g5834];
    my @b = $a =~ /(\d+)/g;
    print join "\n", @b;
    
    __END__
    549
    3945
    9
    48
    34
    430
    4
    3470
    473
    5834
     
  16. [dei]

    [dei] Active Member

    Joined:
    24 Nov 2008
    Messages:
    173
    Likes Received:
    112
    Reputations:
    5
  17. zavra

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

    Joined:
    12 Mar 2008
    Messages:
    96
    Likes Received:
    48
    Reputations:
    23
    Привет! Я хочу сграббить все главные темы с blogs.yandex.ru.
    PHP:
    $req $ua->get("http://blogs.yandex.ru")->as_string;
    my $topic= $if $req=~/<class=\"ico\"><\/i>(\w+)</;
    printf "
    $topic";
    Однако я получу только первую тему. Как сделать так, чтобы получить все три темы?
     
  18. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,759
    Likes Received:
    816
    Reputations:
    230
    напиши типа
    PHP:
    my @topic $req =~ /<class="ico\"><\/i>(\w+)</gm;
    print @topic;
     
    _________________________
  19. genom--

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

    Joined:
    9 Jul 2006
    Messages:
    672
    Likes Received:
    417
    Reputations:
    288
    ps юзайте дефолтывою переменную куда совпадение с маской поиска закидывается $& чтобы лишний массив topic не пихать
     
  20. KaZ@NoVa

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

    Joined:
    5 Jul 2008
    Messages:
    373
    Likes Received:
    444
    Reputations:
    -16
    /////.
    а причём Perl?.. :D :D
     
    1 person likes this.
Loading...
Thread Status:
Not open for further replies.