my %win9x = ( domain1 => { Test98 => [ "Windows 98", , 1, 233, 128], TestME => [ "Windows Me", , 1, 233, 64], Win981 => [ "Windows 98SR2", , 1, 600, 512], Win982 => [ "Windows 98SR2", , 1, 600, 512], WinME1 => [ "Windows Me", 1, , 600, 512], WinME2 => [ "Windows Me", 1, , 600, 512] } ); unless ($domain = shift) { @ARGV = Win32::DomainName or die "Unable to obtain the domain name\n"; } foreach $domain (@ARGV) { print "\nDOMAIN:\t$domain\n\n"; AddWin9x{%win9x}; } #### sub AddWin9x { my %hoh = shift or next;; my $computer; my $os; my $cpu; my $mhz; my $ram; my $sp; print "\n\nWindows 98//Me\n\n"; foreach {$hoh{$domain{$computer}}) { ($os, $sp, $cpu, $mhz, $ram) = $computer; printf ("%20s %3s %-15s %3s %4s %5s\n",$computer, $os, $cpu, $mhz, $ram); } }