- 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;" - дурной тон и потенциальный источник неприятностей. > >Но до этой тригонометрии автор темы, похоже, пока не дошел, еще только >таблицу умножения >осиливает. :-) ваще перл по примерам учить не есть гут ) надо толмуд толковый )
|