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

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

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

    Digimortal Banned

    Joined:
    22 Aug 2006
    Messages:
    471
    Likes Received:
    248
    Reputations:
    189
    тут скорее всего загвоздка в твоем хосте.. по дефолту протокол для создаваемого object ping - tcp, на него хост видать не отвечает.. можно сделать например
    $p = Net::ping->new('icmp', 10);
    но тогда потребуются рут-привилегии, чтоб скрипт рабтоал.. так же пробуй поизменять таймаут - по умолчанию он 5, но у меня, например, тока с 10 более-менее нормально работает..
     
  2. DIAgen

    DIAgen Banned Life!

    Joined:
    2 May 2006
    Messages:
    1,055
    Likes Received:
    376
    Reputations:
    460
    При увеличения таймаута не чего не выдается... вообще не чего не выводиться...
    Если бы не савмоде в пшп то можно было бы system и все дела...
    Даю вообще забить на это...
     
  3. Digimortal

    Digimortal Banned

    Joined:
    22 Aug 2006
    Messages:
    471
    Likes Received:
    248
    Reputations:
    189
    так и на перл можно ведь "system и все дела"..

    непонял, у тебя и "Content-type: text/html\n\n" не выводится? (так и не понял к чему это : ) )

    дело в том, что у меня скрипт вполне нормально работет..
     
    #163 Digimortal, 12 Oct 2007
    Last edited: 12 Oct 2007
  4. biophreak

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

    Joined:
    3 Aug 2007
    Messages:
    348
    Likes Received:
    63
    Reputations:
    15
    Если не подходит Net::ping;
    то имхо можно чтонить в духе:
    my $ping = `ping --args`;
    print "$ping<br>\n";
     
    1 person likes this.
  5. genom--

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

    Joined:
    9 Jul 2006
    Messages:
    668
    Likes Received:
    416
    Reputations:
    288
    гы про систем уже говорили жешь -- если кто не в курсе текст между `текст` выполняется через ком интерпритатор
     
  6. .Slip

    .Slip Elder - Старейшина

    Joined:
    16 Jan 2006
    Messages:
    1,571
    Likes Received:
    977
    Reputations:
    783
    Допустим дан массив с N кол-вом записей. Массив стринговый. Как узнать кол-во записей в массиве?

    add:
    Отобразить слово наоборот. Т.е. я ввожу test, он делает из этого tset. Есть ли специальная функция? А то свой алгоритм писать влом.
     
    #166 .Slip, 16 Oct 2007
    Last edited: 16 Oct 2007
  7. biophreak

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

    Joined:
    3 Aug 2007
    Messages:
    348
    Likes Received:
    63
    Reputations:
    15
    Если правильно тебя понял, то scalar(@mas);
     
    1 person likes this.
  8. Digimortal

    Digimortal Banned

    Joined:
    22 Aug 2006
    Messages:
    471
    Likes Received:
    248
    Reputations:
    189
    >> Есть ли специальная функция?

    reverse
     
  9. .Slip

    .Slip Elder - Старейшина

    Joined:
    16 Jan 2006
    Messages:
    1,571
    Likes Received:
    977
    Reputations:
    783
    Уже нашёл до ответа. Но толку 0.

    #!/usr/bin/perl
    use strict;
    my $var = $ARGV[0];
    print reverse($var);

    C:>perl.pl test
    test
     
  10. biophreak

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

    Joined:
    3 Aug 2007
    Messages:
    348
    Likes Received:
    63
    Reputations:
    15
    Надо заменить
    PHP:
    my $var $ARGV[0];
    на
    PHP:
    my $var "$ARGV[0]";
     
    #170 biophreak, 16 Oct 2007
    Last edited: 16 Oct 2007
  11. .Slip

    .Slip Elder - Старейшина

    Joined:
    16 Jan 2006
    Messages:
    1,571
    Likes Received:
    977
    Reputations:
    783
    #!/usr/bin/perl
    use strict;
    my $var = "$ARGV[0]";
    print reverse($var);

    C:>perl.pl privet
    privet
    :)
     
  12. biophreak

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

    Joined:
    3 Aug 2007
    Messages:
    348
    Likes Received:
    63
    Reputations:
    15
    Хм....странно, но еще страннее, если не
    print reverse($var);
    а
    print reverse($var)."\n";

    Тогда можно без кавычек брать аргв )
    :)))
     
  13. .Slip

    .Slip Elder - Старейшина

    Joined:
    16 Jan 2006
    Messages:
    1,571
    Likes Received:
    977
    Reputations:
    783
    ".\n" - сцуко:/
    Всё работает:
    PHP:
    #!/usr/bin/perl
    use strict;
    my $var $ARGV[0];
    print 
    reverse($var)."\n";
     
  14. biophreak

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

    Joined:
    3 Aug 2007
    Messages:
    348
    Likes Received:
    63
    Reputations:
    15
    Угу...перл ваще штука странная :)))
     
  15. Digimortal

    Digimortal Banned

    Joined:
    22 Aug 2006
    Messages:
    471
    Likes Received:
    248
    Reputations:
    189
    нафлудили без меня тут.. )
    "\n" тут, кстати говоря, абсолютно непричем..

    вариант 1:
    Code:
    $a = reverse $ARGV[0];
    print $a;
    вариант 2:
    Code:
    print reverse split //, $ARGV[0];
    вариант 3. наверно, самым правильным было бы написать так:
    Code:
    print scalar reverse $ARGV[0];
    но можно и так, к примеру (вариант 4):
    Code:
    print eval reverse $ARGV[0];
    +)
     
    #175 Digimortal, 16 Oct 2007
    Last edited: 16 Oct 2007
  16. biophreak

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

    Joined:
    3 Aug 2007
    Messages:
    348
    Likes Received:
    63
    Reputations:
    15
    Согласен, не причем :)
    Но таки заработало-же...
     
  17. KSURi

    KSURi tnega AOLPS

    Joined:
    6 Jun 2006
    Messages:
    458
    Likes Received:
    219
    Reputations:
    357
    Про кавычки для $argv[0] это ваще бред был
     
  18. malamut

    malamut New Member

    Joined:
    8 Sep 2007
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Web Server

    Пытаюсь написать простенький сервер))) Чтоб просто возвращал запрос в html обёртке. Проблема: не конектиться. И вообще ничего не print'ует.Может вечный цикл ему не по душе. :) Хотя компилируется. Бред. :confused: Подскажите
    Code:
    #!/usr/bin/perl -w
    use IO::Socket;
    my $sock = new IO::Socket::INET 
    	(
    		PeerAddr => 127.0.0.1, 
       		PeerPort => 8080,
       		Proto => 'tcp',
    		Listen => 1
       	) or die "$! fucking socket";
    while(5==5)
    {
     $sock->listen();
      print "<html>";
      print "<head> <title>Server Answer</title> </head>";
      print "<body>";
      $acc = $sock->accept();
    	while(<$acc>)
    	{
    		print $_;
    	}
      print "</body></html>";
      } 
    
     
  19. KSURi

    KSURi tnega AOLPS

    Joined:
    6 Jun 2006
    Messages:
    458
    Likes Received:
    219
    Reputations:
    357
    это жесть чувак
    perldoc IO::Socket

    Code:
    #!perl
    
    use strict;
    use warnings;
    
    use IO::Socket;
    
    my $sock = IO::Socket::INET -> new(LocalAddr => '127.0.0.1', LocalPort => 8080, Listen => 1) || die $!;
    
    while(1)
    {
        next unless my $conn = $sock -> accept;
        while($conn -> connected)
        {
            ...
        }
    }
    
     
    #179 KSURi, 17 Oct 2007
    Last edited: 17 Oct 2007
  20. .Slip

    .Slip Elder - Старейшина

    Joined:
    16 Jan 2006
    Messages:
    1,571
    Likes Received:
    977
    Reputations:
    783
    Вопрос: Допустим такую ситуацию:
    PHP:
    my $var '55.55';
    my ($VR$VRR) = split(/./,$var);
    Следовательно у переменных $VR, $VRR значения == 55 . Но, в скрипте они имеют вид стринговых. Как мне перевести их в целочисленные?
     
Thread Status:
Not open for further replies.