The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Perl, скрипт arpwatch"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"Perl, скрипт arpwatch"  +/
Сообщение от Alexovi4 (ok) on 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);
......

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Perl, скрипт arpwatch"  +/
Сообщение от allez (ok) on 29-Дек-09, 13:26 
>Здравствуйте.
>Привожу кусок скрипта на 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.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

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

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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Perl, скрипт arpwatch"  +/
Сообщение от allez (ok) on 29-Дек-09, 15:41 
>угу еще одно существенно - по дефолту перл работает с $_

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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

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

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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




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

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