Thread Unterschiedliche Ergebnisse Hashfeld bei Vista und XP ??? (10 answers)
Opened by Caleb6666 at 2010-04-28 21:09

Gast Caleb6666
 2010-04-28 21:09
#136502 #136502
Hallo,

möchte in einem Hashfeld alle bestehenden Druckerports (Anschlüsse) eines im Netzwerk befindlichen Rechners einlesen. Habe dazu einen PC der drei Druckeranschlüsse enthält abgefragt. Unter dem Betriebssystem Windows XP werden alle Druckerports im Hash %port korrekt abgespeichert. Wenn das ganze jedoch auf einem anderern Rechner unter Vista ausgeführt wird enthält der Rückgabewert %port jedoch nur einen Druckerport und nicht alle Drei. Woran kann das liegen?

Hier die Funktion:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
sub getDruckerPorts {
my $host=$_[0];
my ($ret,@data)=doCmd("prnport","-s $host -l");

my %port;
my $name;
for my $line (@data) {
$name=$1 if $line =~ /^Anschlussname (.*)/;
if ($line =~/^Hostadresse (.*)/) {
$port{$name}=$1;
print $port{$name}=$1; #Test:Liefert als Ergebnis bei XP oder
Vista jeweils die 3 Druckerports --> Ergebnis korrekt!
}
}
print %port; #Test: Liefert bei XP 3 Druckerports, bei VISTA jedoch nur einen
--> Ergebnis falsch!
return %port;

for my $n (keys %port) {
print "$n -> $port{$n}\n";

}

}


Warum ist ausserhalb der Schleife bei Vista nur ein Druckerport im Hash %port?

Vielen Dank!!
Last edited: 2010-04-28 21:25:01 +0200 (CEST)

View full thread Unterschiedliche Ergebnisse Hashfeld bei Vista und XP ???