Страница 1 из 1

Ошибка в Perl скрипте

Добавлено: 2010-04-01 14:37:23
Darnet
Пожалуста помогите разобрать со скриптом в perl, выводит ошибку, но сам вроде работает. Скрипт очень полезный может кому-нибудь еще пригодится.

Вот скрипт mac.pl:

Код: Выделить всё

#!/usr/bin/perl -w

$community = "public";
$switch = "172.16.0.254";


for ($vlan_id=300; $vlan_id<=327; $vlan_id++)
{

open(SNMP,"snmpwalk -v2c -c $community'\@'$vlan_id $switch .1.3.6.1.2.1.17.4.3.1.1|");
while (<SNMP>)
{
   chomp;
   my ($oid, $mac) = split /=\s*/;

   $_ = $mac;
   s/\s*$//; s/ /:/g; s/(.)/\l\1/g; s/hex-string:://g;
   $mac_table{$_} .= $mac;
   
}
close(SNMP);

}

foreach $mac (keys %mac_table) {
        print "$mac\n"; 
}


А вот сама ошибка:

Код: Выделить всё

\1 better written as $1 at ./mac.pl line 17.

Re: Ошибка в Perl скрипте

Добавлено: 2010-04-01 14:54:53
hizel
скрипт дурацкий, почему не использовать интерфейс Net::SNMP сразу из пёрла :)

Re: Ошибка в Perl скрипте

Добавлено: 2010-04-01 15:16:24
Darnet
Не могу с ним работать, да мне только надо снять маки с виланов и все, а что та на счет ошибки как ее исправить.

Re: Ошибка в Perl скрипте

Добавлено: 2010-04-01 15:35:58
hizel

Код: Выделить всё

\1 better written as $1 at ./mac.pl line 17.
ок перевожу, харашо бэ вместо \1 использовать $1 в файлике mac.pl в строке 17 :pardon: