The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Perl, скрипт arpwatch, !*! Alexovi4, 29-Дек-09, 11:26  [смотреть все]
Здравствуйте.
Привожу кусок скрипта на Perl с сайта xgu.ru. Подскажите, что выполняют его строки:

###Текст скрипта mac2port
......
while (<SNMP>)
{
        chomp;
        s@.1.3.6.1.2.1.17.4.3.1.1@@;            ### <---???
        my ($oid, $mac) = split /=\s*/;         ### <---???
        $_=$mac;
        s@"@@g; s@\s*$@@; s@ @:@g; s@(.)@\l\1@g; s@^0@@; s@:0@:@g; ### <---???
        $mac_table{$_}=$oid;                                       ### <---???  
}  
close(SNMP);
......

  • Perl, скрипт arpwatch, !*! allez, 13:26 , 29-Дек-09 (1)
    >Здравствуйте.
    >Привожу кусок скрипта на Perl с сайта xgu.ru. Подскажите, что выполняют его
    >строки:
    >
    >###Текст скрипта mac2port
    >......
    >while (<SNMP>)
    >{
    >        chomp;
    >        s@.1.3.6.1.2.1.17.4.3.1.1@@;   ### <---???

    Это обычная функция замены подстроки s///, только в качестве разделителей использованы
    символы "@".

    >        my ($oid, $mac) = split /=\s*/;         ### <---???

    Поток входных данных разделяется на части. В качестве символа-разделителя выступает знак равенства,
    сопровождаемый пробельными символами. Полученные результаты присваиваются переменным $oid и
    $mac соответственно.

    >        $_=$mac;
    >        s@"@@g; s@\s*$@@; s@ @:@g; s@(.)@\l\1@g; s@^0@@; s@:0@:@g; ### <---???

    См. первое примечание про s///.

    >        $mac_table{$_}=$oid;     ### <---???

    Создается хэш (он же ассоциативный массив), в котором в качестве ключа используется $mac, а в
    качестве значения - $oid.

    • Perl, скрипт arpwatch, !*! Pahanivo, 14:30 , 29-Дек-09 (2)
      >[оверквотинг удален]
      >>        $_=$mac;
      >>        s@"@@g; s@\s*$@@; s@ @:@g; s@(.)@\l\1@g; s@^0@@; s@:0@:@g; ### <---???
      >
      >См. первое примечание про s///.
      >
      >>        $mac_table{$_}=$oid;     ### <---???
      >
      >Создается хэш (он же ассоциативный массив), в котором в качестве ключа используется
      >$mac, а в
      >качестве значения - $oid.

      угу еще одно существенно - по дефолту перл работает с $_

      • Perl, скрипт arpwatch, !*! allez, 15:41 , 29-Дек-09 (3)
        >угу еще одно существенно - по дефолту перл работает с $_

        Да, и конструкции вроде "$_=$mac;" - дурной тон и потенциальный источник неприятностей.
        Но до этой тригонометрии автор темы, похоже, пока не дошел, еще только таблицу умножения
        осиливает. :-)

        • Perl, скрипт arpwatch, !*! Pahanivo, 16:23 , 29-Дек-09 (4)
          >>угу еще одно существенно - по дефолту перл работает с $_
          >
          >Да, и конструкции вроде "$_=$mac;" - дурной тон и потенциальный источник неприятностей.
          >
          >Но до этой тригонометрии автор темы, похоже, пока не дошел, еще только
          >таблицу умножения
          >осиливает. :-)

          ваще перл по примерам учить не есть гут )
          надо толмуд толковый )




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру