use Win32::Lanman; use Win32::NetAdmin; ..... sub getDDInfo{ my $i = 0; my $client = $_[0]; if (!Win32::Lanman::NetServerDiskEnum("\\\\$client",\@drives)){ print "*ERROR Getting Drive Info*"; return; } print "@drives"; foreach my $drive(@drives){ $drive =~ s/\://g; @drvinfo = Win32::AdminMisc::GetDriveSpace("\\\\$client\\$drive\$"); for (0..1){ # Force to zero, if undefined/ defined($drvinfo[$_]) or $drvinfo[$_] = 0; } $drive->{CAPACITY} = sprintf("%5.2f",($drvinfo[0]/1073741824)); #Convert to GigaBytes $drive->{SPACE} = sprintf("%5.2f",($drvinfo[1]/1073741824)); $drive->{SPACE} =~ s/\s//; $drive->{CAPACITY} =~ s/\s//; unless($drive->{CAPACITY} < .01){ $drive->{PERCENT} = sprintf("%.02f",$drive->{SPACE}/$drive->{CAPACITY}*100); } } }