1. Преобразование маски подсети в длинну.
sub mask2len {
my($mask) = shift;
my($a, $b, $c, $d) = split('\.', $mask);
my($p, $len);
$p = ~ (($a << 24) + ($b << 16) + ($c << 8) + $d);
for ($len = 32; $p > 0; $len --) {
$p = $p >> 1;
}
return($len);
}
sub mask2len {
my($mask) = shift;
my($a, $b, $c, $d) = split('\.', $mask);
my($p, $len);
$p = ~ (($a << 24) + ($b << 16) + ($c << 8) + $d);
for ($len = 32; $p > 0; $len --) {
$p = $p >> 1;
}
return($len);
}
2. Преобразование snmp OID в сроку
sub oid2string {
my $oid = shift;
my @numbers = split(/\./, $oid);
my @printable;
# Remove first number
shift @numbers;
foreach my $c (@numbers) {
next if ($c < 32 or $c > 126);
push @printable, $c;
}
my $word = pack("C*", @printable);
return $word;
}
3. Запись в лог отладки
sub writelog ()
{
my ($message,$data)=@_;
if ($debug != 0)
{
open( LOG,'>>',"$log_path");
print LOG "$message $data\n";
close(LOG);
}
}
3. Запись в лог отладки
sub writelog ()
{
my ($message,$data)=@_;
if ($debug != 0)
{
open( LOG,'>>',"$log_path");
print LOG "$message $data\n";
close(LOG);
}
}
Комментариев нет:
Отправить комментарий