Hy @all
Mein Problem:
Ich möchte den Wert 'VirtualMachineVideoCard' auslesen. Wie kann ich das machen? bei mir kommt immer diese Meldung: VirtualMachineVideoCard=HASH(0xb108a2c)
Diese =HASH-zeugs sollte weg....
Hier mal der Aufbau:
bless( {
'videoRamSizeInKB' => '4096',
'unitNumber' => '0',
'deviceInfo' => bless( {
'summary' => 'Video Card',
'label' => 'Video Card '
}, 'Description' ),
'controllerKey' => '100',
'key' => '500'
}, 'VirtualMachineVideoCard' ),
Der Wert 'VirtualMachineVideoCard' steht als einziger nicht im HASH sondern im Array. Auch hat er keinen Key zum abrufen.... abr z.B. {deviceInfo}=>{summary} kann ich ohne weitere Probleme abrufen....
Wie muss ich vorgehen?
Gruss
User since
2003-08-04
14371
Artikel
ModeratorIn
Mit "ref" bekommst Du den Namen der Klasse...
my $cgi = CGI->new;
print ref( $cgi )
Klappt leider auch nicht.... respektive, wahrscheinlich bin ich nicht fähig deinen Code richtig zu interpretieren....
i gebe folgenden Code ein:
foreach my $device (@{$vm->{config}->{hardware}->{device}}){
if($device){
my $cgi = CGI->$device;
print ref( $cgi );
print "\n";
}}
Als Fehlermeldung kommt:
Can't locate object method "VirtualIDEController=HASH(0xb109470)" via package "CGI" (perhaps you forgot to load "CGI"?) at list1.pl line 169.
Danke aber schon mal für die rasche Antwort...
User since
2003-08-04
14371
Artikel
ModeratorIn
Mein Code war ein Beispielcode für die Verwendung von
ref...
foreach my $device (@{$vm->{config}->{hardware}->{device}}){
if($device){
print ref( $device ),"\n"
}
}
SUPER!!!
Danke dir vielmals!
Hat voll hingehauen:-D
einen schönen Tag noch!
Tschuldige...aber ich habe noch eine kleine Frage:-$
wie sieht es aus, wenn ich denn Inhalt mit einer if abfrage aussortieren möchte, wie muss ich da vorgehen!?
also
if($device eq "VirtualMachineVideoCard"){print "ein value eines Keys, was kein Problem weiter darstellen sollte!?";}
User since
2003-08-04
14371
Artikel
ModeratorIn
Ich versteh ehrlich gesagt nicht so ganz was Du machen willst...
In Deinem Code fehlt noch das ref().
if( ref($device) eq "VirtualMachineVideoCard"){
print "ein value eines Keys, was kein Problem weiter darstellen sollte!?";
}
also jetze klappt alles....
Was ich mache will:
Ich will schauen ob der Rechner eine Graffikkarte hat oder mehrere...
bei jeder soll er einzeln die Grösse der RAM(GraKa-RAM) auslesen...
also dann ->{memory}
Und das habe ich jetzt auch geschafft!
Danke dir!
User since
2003-08-21
2614
Artikel
ModeratorIn
Es heisst Perl, nicht PERL ;)