Hi,
For those of you who helped me with my earlier scripts. Thanks.
But I have a further problem in understanding something. Using
The following declaration:
my %commands = ('sol'=>{'hostname' =>'uname -n',
'os' =>'uname -s',
'osver' =>'uname -r',
'osrel' =>'cat /etc/release
| awk \'{print $3}\'',
'srvtype' =>'uname -p',
'srvmodel' =>'uname -i | cut -f2
-d ","',
'memory' =>'prtconf | grep
Memory | awk \'{print $3}\'',
'cpu' =>'psrinfo | awk
\'{print $1}\' | wc -l'}
);
I have my code now as followed:
foreach $items (keys %commands) {
foreach $CMD (keys %{$commands{$items}}){
print "Command: $CMD \n";
$results=(&get_response($commands{$items}{$CMD}))[0];
print OUT_FH "$results,","";
}
}
The output works but it not in the order I expected:
I expected my output to be:
hostname, IP addrress, OS, Version, Release, Server Type, Model, Memory
Size, Total CPU's.
But what I got was:
Model, Server Type, cpu, Release, hostname, OS, Memory Size, Version
It seems to me the hash started almost at the bottom of the list instead of
With the hostname and work it way down. Is there any way to force the
Order other than maybe specifying the array itself?.
Phillip Bruce
ISC Consultant, System Architect
Location: Dublin, CA
* Cell: 408-476-8658
* Office: 925-560-7853
AIM: OkieUnix