[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RESOLVED - Slightly OT: External Perl Script



All,

WOW, thanks for the responses.  In the end several of the solutions
worked and it was indeed an issue with the double quotes.

I just gained about 30% CPU usage by getting rid of the shell scripts
with this Perl version.  I couldn't have done it without your help.

Robert Taylor

-----Original Message-----
From: Taylor, Robert [mailto:Robert.Taylor (at) HendrickAuto.com] 
Sent: Wednesday, March 01, 2006 9:24 AM
To: hobbit (at) hswn.dk
Subject: [hobbit] Slightly OT: External Perl Script

All,

This may be slightly off topic, but I figured that there is someone here
that can help.  Over the past weekend I wrote my first Perl script to
replace a number of aging shell scripts that I had.  What I have done is
written Perl scripts to query Liebert UPS systems, Netbotz environment
monitors and Juniper SSL VPN appliances.  Needless to say I am now a
believer in how much faster Perl is than shell.  My scripts dropped from
about almost two minutes to run to 8 seconds.

I can see all of the output when I print to screen so I know that it is
polling everything okay.  The problem that I am having is getting Perl
to send this data to Hobbit.  It is just a formatting issue as I can
have it send plain text fine, but I am trying to send HTML to create
nice looking status pages.  I have looked at previous scripts, but they
all use the BigBrother.pm module and I would like to get this working
without that.  I am by no means a programmer but this problem is going
to bother me until I can get it working.

Perhaps someone could provide just a bit of Perl guidance?  The portion
of the code that I think it is getting hung up on is the colons in the
HTML, but I am not sure.

sub sendupdates {

$msg = <<EOM;
<html><body><center>
<!-- Created with Version 3 of the Liebert Test Script-->
<table border=\"0\" align=\"center\" id=\"table1\"
 style=\"height: 197px; width: 649px;\">
  <tbody>
    <tr>
      <th align=\"center\">
      <hr width=\"100%\"></th>
    </tr>

< snip other HTML >

</center>
</body>
</html>

EOM

my $now = localtime($^T) . "\n";

if ($debug eq "yes"){
        print "------------------- Time Stamp --------------------\n";
        print "Time Stamp: $now\n";
        print "------------------- HTML Output -------------------\n";
        print $msg;
}


system("$bb $bbhost \"status ${bbhostname}.ups $color $now ${msg}\"");


}


The error messages that our output to the screen give the following:

bb: incorrect number of arguments
Format: <IP-ADDR> <DATA>
sh: line 5: width:: command not found
sh: line 13: >

then there are also a lot of the following messages:

sh: line 14: > </div>
      <table id=table2 style=width:: No such file or directory
sh: line 14: height:: command not found
sh: line 17: >
        <tbody>
          <tr>
            <th width=267style=font-weight:: command not found
sh: line 17: text-align:: command not found
sh: line 18: >Hostname:</th>


Thanks in advance for any help.

Robert Taylor 


To unsubscribe from the hobbit list, send an e-mail to
hobbit-unsubscribe (at) hswn.dk