[hobbit] Slightly OT: External Perl Script

Rolf Schrittenlocher Schrittenlocher at rz.uni-frankfurt.de
Wed Mar 1 15:42:24 CET 2006


Hi,

>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: >
>
>  
>
I'm no perl guru, but it seems that the double quotes in your text 
aren't masked with escapes any more while your message is interpreted by 
the hobbit server. So hobbit doesn't know what to do with the rest and 
the shell tries to deal with the rest. Perhaps give that a try: replace 
all \" by \\\"

regards
Rolf

>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
>
>
>
>  
>


-- 
Mit freundlichen Gruessen
Rolf Schrittenlocher

HRZ/BDV, Senckenberganlage 31, 60054 Frankfurt 
Tel: (49) 69 - 798 28908   Fax: (49) 69 - 798 28817
LBS: lbs-f at mlist.uni-frankfurt.de
Persoenlich: schritte at rz.uni-frankfurt.de





More information about the Xymon mailing list