Bzzzt! What's with the

  open FILE, $lengthfile || die "Couldn't open lengthfile";

If you're running this script against two or more logfiles, which one blew up? Why did it blow up? We all know that should be written as

  open FILE, $lengthfile || die "Couldn't open lengthfile $lengthfile for input: $!\n";

A die expression is a terrible thing to waste.

But that's still no good. If the open fails, nothing is going to be printed out in any event, because precedence rules imply that the statement should be parsed as:

  open( FILE, ($lengthfile || die) );

Which means unless the scalar $lengthfile is undefined false (thanks Juerd!), the die is never going to be executed. And then the error message would be really puzzling. So it should be written as:

  open FILE, $lengthfile or die "Couldn't open lengthfile $lengthfile for input: $!\n";

There's also a bit of an indentation flaw at the end of the code. At first I thought you were systematically rewriting the lengthfile, until I noticed that the code was actually within the if block.

g r i n d e r
print@_{sort keys %_},$/if%_=split//,'= & *a?b:e\f/h^h!j+n,o@o;r$s-t%t#u';

In reply to Re: monitorlogs.pl by grinder
in thread monitorlogs.pl by vroom

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.