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

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

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

    1NtR0 Elder - Старейшина

    Joined:
    14 Apr 2007
    Messages:
    235
    Likes Received:
    89
    Reputations:
    35
    Подскажите как в перле сделать preg_match_all ?
    Вот нужно переписать на Perl:
    Code:
    preg_match_all('/qwe[0-9]{1,2}asd/ims', $content, $m);
    natsort($m[0]);
    $p = array_unique($m[0]);
    sort($p);
    
    Спасибо.
     
    #1361 1NtR0, 29 Dec 2009
    Last edited: 29 Dec 2009
  2. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    $str =~ /regexp/g
     
    _________________________
    1 person likes this.
  3. j0ker13

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

    Joined:
    28 Jul 2008
    Messages:
    199
    Likes Received:
    16
    Reputations:
    5
    a ne tak?
    @arr=$str=~ /regexp/g
    tam zhe massiv)
     
    1 person likes this.
  4. anubis666

    anubis666 New Member

    Joined:
    17 Aug 2009
    Messages:
    31
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте,помогите пожалуйста с постраничной навигацией)значит так.есть таблица VIDEO в ней есть поле VIDEO так вот чтобы получить данные из поля я использую скрипт ("
    Code:
    my $sth2 = $dbh->prepare(qq{SELECT video_title FROM video});
    $sth2->execute();
    while (my ($title) =
      $sth2->fetchrow_array())  
                                 
    {
         print "<p>
    <button onclick='showPopWin('http://10.33.195.248//ajax/index.html', 400, 200, null);>$title</button></p>";
    }
    print "</TABLE><div>";
    $sth2->finish();
    
    ")
    так вот проблема в том что всё выводится на одну страницу..так вот вопрос как вывести эти данные по странично к примеру по 20 значений на страницу?
     
    #1364 anubis666, 29 Dec 2009
    Last edited: 29 Dec 2009
  5. n4n0bit

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

    Joined:
    11 Sep 2006
    Messages:
    52
    Likes Received:
    14
    Reputations:
    20
    anubis666 как то так:

    Code:
    [B]anubis666[/B]
    
    my ($c, $k) = (0,0);
    my %html;
    ..
    ..
    while..
    {
    	$c++;
    	
    	if( $c == 20 )
    	{
    		$k++;
    		$c = 0;
    	}
    	
    	push @{$html{$k}}, "<p><button onclick='showPopWin('http://10.33.195.248//ajax/index.html', 400, 200, null);>$title</button></p>";
    }
    ..
    ..
    
     
  6. Fepsis

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

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Здрасте... Туплю второй час... :rolleyes:

    Шлю запрос на сайт через сокет, считываю ответ:

    PHP:
    $str join('', <SOCK>);
    Получаю в $str примерно следующее:

    PHP:
    HTTP/1.1 301 Moved Permanently
    Server
    nginx
    Date
    Wed30 Dec 2009 20:54:08 GMT
    Content
    -Typetext/htmlcharset=iso-8859-1
    Connection
    close
    Content
    -Length294

    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <
    html><head>
    <
    title></title>
    </
    head><body>
    бла-бла-бла....
    </
    body></html>
    Так вот, нужно разбить содержимое $str на 2 части заголовки ($head) и контент ($content)... Вот с этим и запарка...
    Пробую сразу при чтении отделять заголовки так:
    PHP:
    while ($s  = <SOCK>)
       {
            
    $str .= $s;
            
    last if (условие выхода из цикла);
       }
    по сути, условие выхода из цикла тут - пустая строка, которая как раз отделяет заголовки от контента, но не получается, в результат сохраняется только первоя строка заголовков, как только не изворачивался...

    Помогите.. Цель: закинуть заголовки и контент в разные переменные... :confused:
     
  7. m0nzt3r

    m0nzt3r моня

    Joined:
    22 Jun 2004
    Messages:
    2,096
    Likes Received:
    673
    Reputations:
    591
    ну можно так
    Code:
    $s =~ m%<%s;
    print $';
    
    попробуй
     
    3 people like this.
  8. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Мб
    last if $s eq "\r\n";
     
    _________________________
    3 people like this.
  9. Fepsis

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

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    m0nzt3r, так он закинул в $head все заголовки + ещё одну строку контента...
    Kaimi, то что нужно.. Рабтает...

    Спасибо всем...

    ЗЫ: я пытался так last if ($s == "\r\n"); :D :rolleyes:
     
  10. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    гг, == только для сравнения чисел, для строк юзается eq
    ЗЫ. Скобки в структуре last if условие; и подобных можно опустить
     
  11. [none]

    [none] Banned

    Joined:
    22 Nov 2009
    Messages:
    83
    Likes Received:
    26
    Reputations:
    -6
    Как проверить наличия файла .php на сервере ?
    допустим если присутсвеует то yes , если нету то no...
     
    #1371 [none], 31 Dec 2009
    Last edited: 31 Dec 2009
  12. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    HEAD- или GET-запрос на сервер. Если не юзается mod_rewrite, сервер вернет 200 OK в случае существования файла
     
  13. [none]

    [none] Banned

    Joined:
    22 Nov 2009
    Messages:
    83
    Likes Received:
    26
    Reputations:
    -6
    в голову тока такое лезет
    use LWP::Simple;
    use LWP::UserAgent;
    my $url = 'http://site.ru/ololo.php';
    my $content = get $url;
    die "нету $url";
    но это не годится....
     
  14. winflip

    winflip New Member

    Joined:
    13 May 2009
    Messages:
    36
    Likes Received:
    1
    Reputations:
    0
    Привет всем. Сёдня наткнулся на такую вот паранойу.
    #!/usr/bin/perl
    print "Content-Type: text/html\n\n";
    print 'prive<t';
    Выводит prive. Я вообще не пойму ничего, ведь одинарнные кавычки выводят всё как есть.
    PS. Я болею, так что не ругайте сильно)))
    PPS Это при просмотре исходного кода
     
    #1374 winflip, 1 Jan 2010
    Last edited: 1 Jan 2010
  15. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    [none], какой-то бредовый код написан.
    winflip, а если заглянуть в исходный код страницы?
     
  16. 1NtR0

    1NtR0 Elder - Старейшина

    Joined:
    14 Apr 2007
    Messages:
    235
    Likes Received:
    89
    Reputations:
    35
    Code:
    Z:\home\test\www\perl>5.pl
    Content-Type: text/html
    
    prive<t
    Все нормально выводит
     
  17. [none]

    [none] Banned

    Joined:
    22 Nov 2009
    Messages:
    83
    Likes Received:
    26
    Reputations:
    -6
    А ты возьми код, в руки свои ! сделай его гладким, хорошим и правильным ! что бы глазу радостно смотреть было ! и преподноси его мне :)
     
  18. winflip

    winflip New Member

    Joined:
    13 May 2009
    Messages:
    36
    Likes Received:
    1
    Reputations:
    0
    krypt3r, а если дочитывать пост до конца???)))))
    Короче вроде проблемка в chrome, он как то не полно показывает иногда исходный код в данном случае, потому как при text/plain всё норм, спасибо канешн за помощь
     
  19. Fepsis

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

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Здравствуйте..))

    Имеется скрипт написанный под актив перл.. Во время работы скрипта в консоль выдаются сообщения (типа статистики) Хотелось бы узнать, можно ли очищать программно консоль, то есть стирать полностью все сообщения с экрана во время работы скрипта..?!

    Ну это так, баловство... Для красоты..))

    Заранее спасибо.. ;)
     
  20. 1NtR0

    1NtR0 Elder - Старейшина

    Joined:
    14 Apr 2007
    Messages:
    235
    Likes Received:
    89
    Reputations:
    35
    Fepsis
    system("cls");
     
    1 person likes this.
Thread Status:
Not open for further replies.