Здравствуйте.
Привожу кусок скрипта на 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 с сайта 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.
>[оверквотинг удален]
>> $_=$mac;
>> s@"@@g; s@\s*$@@; s@ @:@g; s@(.)@\l\1@g; s@^0@@; s@:0@:@g; ### <---???
>
>См. первое примечание про s///.
>
>> $mac_table{$_}=$oid; ### <---???
>
>Создается хэш (он же ассоциативный массив), в котором в качестве ключа используется
>$mac, а в
>качестве значения - $oid.угу еще одно существенно - по дефолту перл работает с $_
>угу еще одно существенно - по дефолту перл работает с $_Да, и конструкции вроде "$_=$mac;" - дурной тон и потенциальный источник неприятностей.
Но до этой тригонометрии автор темы, похоже, пока не дошел, еще только таблицу умножения
осиливает. :-)
>>угу еще одно существенно - по дефолту перл работает с $_
>
>Да, и конструкции вроде "$_=$mac;" - дурной тон и потенциальный источник неприятностей.
>
>Но до этой тригонометрии автор темы, похоже, пока не дошел, еще только
>таблицу умножения
>осиливает. :-)ваще перл по примерам учить не есть гут )
надо толмуд толковый )