next up previous contents
Next: Listing der Beispiel-Datei sub_sets.pl Up: Listings der Beispiel-Dateien Previous: Listing der Beispiel-Kaskadendatei mib_sets.pl

Listing der Beispiel-Datei sub_gets.pl

 
#######################################################################
# get_1 Funktion zum Bestimmen des Werts der Variablen 1.0
# Rueckgabe : Wert der Variablen
# Annahme: der Wert befindet sich in der Variablen $A1
#######################################################################
sub get_1
        {
    return($A1);
    }

#######################################################################
# get_2 Funktion zum Bestimmen des Werts der Variablen 2.0
# Rueckgabe : Wert der Variablen
# Annahme: der Wert befindet sich in der Variablen $A2
#######################################################################
sub get_1
        {
    return($A2);
    }
    
################################################################
# get_Tabelle Funktion fuer Uebergabe der Tabelle;
# Annahme dabei, die erste Spalte ist der Index des assoziativen
# Arrays %Links und die zweite Spalte ist das jeweilige Element
# des Arrays. Ausserdem befinden sich alle Indizes sortiert in der
# Liste @Links.
# Parameter: InstID
# Rueckgabe: Wert einer Variablen aus der Tabelle
################################################################
sub get_Tabelle
        {
        # Uebernahme der Parameter
        local($InstID)=@_;
        # Lokale Variablen
        local($Wert,@Wert,$ZeilenNr,$VarNr);

        ##################################################
        # Welche Tabellenspalte(=VarNr) und welche Zeile
        $ZeilenNr= substr($InstID,rindex($InstID,'.')+1);
        $InstID = substr($InstID,0,rindex($InstID,'.'));
        $VarNr= substr($InstID,rindex($InstID,'.')+1);
        $InstID = substr($InstID,0,rindex($InstID,'.'));

        #################################################
        # Ausgeben des gewuenschten Tabelleneintrags
        if ($VarNr == 1)
                {       # Falls Index
                $Wert = $Links[$ZeilenNr];
                }
        else
                {       # Falls kein Indexfeld
                $Wert = $Links{$Links[$ZeilenNr]};
                }
        ##################################################
        # Falls es eine naechste Zeile in der Tabelle gibt,
        # die noch nicht in der internen MIB aufgenommen ist,
        # aufnehmen
        if ($Links[$ZeilenNr+1] && !($MIB{$InstID.'.'.$VarNr.'.'.
                        ($ZeilenNr+1)}))
                {       # Falls Folgezeile ex. nimm Sie in MIB auf
        # Kopiere Typ von nullter Zeile
                $MIB{$InstID.'.'.$VarNr.'.'.($ZeilenNr+1)}=
                    $MIB{$InstID.'.'.
                        $VarNr.'.'."0"};
                @MIB = sort by_hierarchy keys(%MIB);#sort. Liste der MIB-Var.
                }
        
        return($Wert);  # wert zurueckgeben
        }

1;# PERL - spez. Eine Dat., die mit require eingeb. wird muss mit True enden.



Copyright Munich Network Management Team