On Monday 27 Oct 2003 7:32 pm, [EMAIL PROTECTED] wrote:
> Hi,
>
>   I'm trying to accomplish some task using perl. So let
>   me describe what I have.
>
>   I have several systems of the following:
>
>   Unix:
>             Sun - Solaris
>             HP - HPUX
>
>   Windows:
>             Dell - Windows 2k
>
>  Each of these OS's have specific commands that are specific
>  not only to the OS but to the hardware as well. Wouldn't it be
>  better if I created a header file that contains these commands
>  and assigned them to a common variable?
>
>  Example:
>             $memory = 'prtconf | grep Memory | awk '{print $3}'
>
[snip]

Hi Philip,

I'd try something like (asuming $detail is part of the header returned from 
the Net::telnet connect)

my %whichos=('Solarix'=>'sol','Aix'=>'aix','microsoft'=>'W2K');
my %commands=('sol'=>{'memory'=>'prtconf | grep Memory | awk '{print $3}',
                      'diskfree'=>'..........'}
              'aix'=>{'memory'=>'.......',
                      'diskfree'=>'......'}
              'W2k'=>{'memory'=>'........',
                      'diskfree'=>'......'});

my $OS='';
foreach my $regex (keys %whichos) {
  $OS=$whichos{$regex} if ($details=~/$regex/i);
}
die "cannot find OS" unless  ( $OS && defined {$commands{$OS});

then simply use %commands{$OS}{memory} to get the command you want

>
> Phillip Bruce
> ISC Consultant, System Architect
> Location: Dublin, CA
> * Cell: 408-476-8658
> * Office: 925-560-7853
> AIM: OkieUnix

-- 
Gary Stainburn
 
This email does not contain private or confidential material as it
may be snooped on by interested government parties for unknown
and undisclosed purposes - Regulation of Investigatory Powers Act, 2000     


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to