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

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

Thread Status:
Not open for further replies.
  1. genom--

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

    Joined:
    9 Jul 2006
    Messages:
    668
    Likes Received:
    416
    Reputations:
    288
    разделом ошибся чтоли? почему php? а так никто еще system() не отменял можно и ось и им компа с сети узнать и много чего еще
     
  2. XIII

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

    Joined:
    6 Feb 2006
    Messages:
    109
    Likes Received:
    17
    Reputations:
    -1
    народ как правельно сделать подсчёт сколько компов в онлайне:
    if (eregi ("1", $dati_mount[1], $out)) {$connesso="<img src=\"on.gif\">online";
    global $a;
    $a++;
    echo " Сейчас в сети $a пользователей";}
    мне выдаёт Сейчас в сети 1 пользователей Сейчас в сети 2 пользователей =)
    а как написать правельно?
     
  3. XIII

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

    Joined:
    6 Feb 2006
    Messages:
    109
    Likes Received:
    17
    Reputations:
    -1
    ой яж ошибся топиком =)
     
  4. Iceangel_

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

    Joined:
    9 Jul 2006
    Messages:
    494
    Likes Received:
    532
    Reputations:
    158
    есть скрипт, но в нем походу есть ошибки, потому что за место списка он выводит несколько раз первую строку из файла, а нужно чтобы все...
    Code:
    open(SITES,"sites.txt") ;
     @server = <SITES>;
     close(SITES);
    for ($i=$#server; $i>=0; $i--){
    print "forum $server[i] unvulnerable\r\n";
    }
    
    компилятор выводит 2 ошибки:

    Code:
    Unquoted string "i" may clash with future reserved word at poisk.pl line 6.
    Argument "i" isn't numeric in array element at poisk.pl line 6.
    
     
    1 person likes this.
  5. demonoid

    demonoid Banned

    Joined:
    12 Jan 2007
    Messages:
    101
    Likes Received:
    111
    Reputations:
    27
    Code:
    #!perl
    use strict;
    use warnings;
    open(my $SITES,"sites.txt") ;
    while( <$SITES> )
    {
       chomp;
       print "$_ \n";
    }
    
    sites.txt
    Code:
    192.168.0.1
    192.168.0.2
    192.168.0.3
    192.168.0.4
    Code:
    C:\>s.pl
    192.168.0.1
    192.168.0.2
    192.168.0.3
    192.168.0.4
     
  6. Iceangel_

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

    Joined:
    9 Jul 2006
    Messages:
    494
    Likes Received:
    532
    Reputations:
    158
    Конечно спасибо...
    Но этим способом мы уже реализовывали, мне нужно указать ошибки в моем коде...
     
  7. demonoid

    demonoid Banned

    Joined:
    12 Jan 2007
    Messages:
    101
    Likes Received:
    111
    Reputations:
    27
    Code:
    ....
    [COLOR=Red][SIZE=4][B]chomp( $server[$i] );[/B][/SIZE][/COLOR]
    print "forum $server[[COLOR=Red][SIZE=4][B]$i[/B][/SIZE][/COLOR]] unvulnerable \n";
    ....
    
    Code:
    C:\>s.pl
    forum 192.168.0.4 unvulnerable
    forum 192.168.0.3 unvulnerable
    forum 192.168.0.2 unvulnerable
    forum 192.168.0.1 unvulnerable
    
     
    #227 demonoid, 17 Nov 2007
    Last edited: 17 Nov 2007
    1 person likes this.
  8. Chuck

    Chuck Banned

    Joined:
    23 Jul 2007
    Messages:
    77
    Likes Received:
    180
    Reputations:
    11
    Парни, проблема такая. Как можно в созданном файле, контента: uin;pass удалить дубликаты пар uin;pass? преобразовать массив к множеству?
     
  9. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Перл не знаю, но сделать это можно легко на пхп.
    PHP:
    <?
    $file 'file.txt'// файл с уинами
    $file2 'file2.txt'// файл с уинами без повторений
    $array explode"\n"file_get_contents($file) );
    $array array_unique$array );
    $handle fopen($file2'a');
    fwrite($handleimplode("\n"$array));
    fclose($handle);
    ?>
     
    1 person likes this.
  10. C!klodoL

    C!klodoL Elder - Старейшина

    Joined:
    5 Jun 2007
    Messages:
    302
    Likes Received:
    208
    Reputations:
    4
    удалить дубликаты:
    open(incom, "<./in.txt");
    @IN = <incom>;
    @IN = grep{!$_{$_}++} @IN;
    close(incom);

    open(out, ">./out.txt");
    print out @IN;
    close(out);
     
    3 people like this.
  11. Chuck

    Chuck Banned

    Joined:
    23 Jul 2007
    Messages:
    77
    Likes Received:
    180
    Reputations:
    11
    @IN = grep{!$_{$_}++} @IN; всё дело в этом короч.. поянтно, спс..
     
  12. biophreak

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

    Joined:
    3 Aug 2007
    Messages:
    348
    Likes Received:
    63
    Reputations:
    15
    Возник вопросик небольшой...как можно определить эл-т хеша с наибольшим значением, не прибегая непосредственно к перебору?
    Заранее спасибо...
    ЗЫЖ Перебор не устраивает тем, что эл-тов может быть больше сотни...
     
  13. bul.666

    bul.666 булка

    Joined:
    6 Jun 2006
    Messages:
    719
    Likes Received:
    425
    Reputations:
    140
    Ни как =\ Хотя хз может есть какаянить закономерность =\
     
  14. G1yuK

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

    Joined:
    25 May 2007
    Messages:
    41
    Likes Received:
    9
    Reputations:
    0
    а если заносить значение хеша в какую то переменную до занесения в сам хеш?
     
  15. C!klodoL

    C!klodoL Elder - Старейшина

    Joined:
    5 Jun 2007
    Messages:
    302
    Likes Received:
    208
    Reputations:
    4
    на счёт функции не знаю, но даже если функция то она имхо устраивает такой же перебор, а вообще как данные попадают в хэш?

    http://opennet.ru/docs/RUS/perl_hash/
     
    #235 C!klodoL, 19 Nov 2007
    Last edited: 20 Nov 2007
    1 person likes this.
  16. KSURi

    KSURi tnega AOLPS

    Joined:
    6 Jun 2006
    Messages:
    458
    Likes Received:
    219
    Reputations:
    357
    через оператор присваивания

    Без перебора такое может быть возможно организовать через XS. И снова напишу может быть.
     
  17. Digimortal

    Digimortal Banned

    Joined:
    22 Aug 2006
    Messages:
    471
    Likes Received:
    248
    Reputations:
    189
    Code:
    my %hash = (
    	
    	'1' => '1234',
    	'2' => '666',
    	'3' => '9900',
    	'4' => '123' 
    );
    
    
    print @{[ sort {$a<=>$b} values %hash ]}[-1]
     
    2 people like this.
  18. KSURi

    KSURi tnega AOLPS

    Joined:
    6 Jun 2006
    Messages:
    458
    Likes Received:
    219
    Reputations:
    357
    sort перебирает массив, который возвращает values, внутри себя
     
  19. Digimortal

    Digimortal Banned

    Joined:
    22 Aug 2006
    Messages:
    471
    Likes Received:
    248
    Reputations:
    189
    >> sort перебирает массив, который возвращает values, внутри себя

    угу, а есть иные способы?

    кста, у меня такое ощущение, что он вообще про мд5-хеши ( http://forum.antichat.ru/thread53979.html ) спрашивал +)
     
  20. KSURi

    KSURi tnega AOLPS

    Joined:
    6 Jun 2006
    Messages:
    458
    Likes Received:
    219
    Reputations:
    357
    имхо не исключено. посмотрю на досуге
     
Thread Status:
Not open for further replies.