Fellow monks, I wrote a small inefficient perl script that checks to see if the time has changed on the /var/log/httpd/access_log file. If the file time is the same it prints a period. Once the file is "touch"ed by anything and the time changes, the script prints an "x". Eventually, I want to move to a specific response instead of an "x". The file uses 12% of cpu process because of its while loop nature. Is there a better way to do this?
#!/usr/bin/perl print "Testing to see if file changes.\n"; $listing = `ls -al access_log`; @fields = split /" "/,$listing; foreach (@fields) { if (/[0-9][0-9]:[0-9][0-9]/) { $status = $&; print "Status is :",$status,"\n"; } else { print "Didn't find anything.\n"; } } @fields = split /:/, $status; $hours = @fields[0]; $minutes = @fields[1]; print "hours :",$hours,"\n"; print "minutes :",$minutes,"\n"; $hours2 = $hours; $minutes2 = $minutes; @fields = (); while (1) { while ($hours == $hours2 && $minutes == $minutes2) { $listing = `ls -al access_log`; @fields = split /" "/,$listing; foreach (@fields) { if (/[0-9][0-9]:[0-9][0-9]/) { $status = $&; } else { # print "Didn't find anything suckker.\n"; } } @fields = split/:/,$status; $hours = @fields[0]; $minutes=@fields[1]; @fields= (); print "."; # meaning the time is the still the same } $hours2 = $hours; $minutes2 = $minutes; print "x"; # meaning the time has changed; file touched }

In reply to Perl process to constantly detect the time change of a file? by blackcode6

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.