Полезные процедуры

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);
}
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);
}
}






Комментариев нет:

Отправить комментарий