Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re: assert - checking up on other scripts

by mojotoad (Monsignor)
on Jul 22, 2010 at 08:11 UTC ( #850793=note: print w/ replies, xml ) Need Help??


in reply to assert - checking up on other scripts

The less you have to put into a crontab, the better. There's no reason to pass code fragments into a script via command line, much less an automated one.

You're on the right track, however, by generalizing the problem and anticipating future uses for your notification script.

The larger problem you're confronting is three things:

  1. detect
  2. select
  3. deliver

Once you have removed the liver from your selected recipients, your task is complete.

Seriously, though. Break the tasks down and, if not put them into their own modules, at least put them into their own subroutines.

For example, rather than passing code fragments into your script via command line, use a hash for dispatching to the correct test routine; that way you can pass a parameter called "day_stale" and not worry about the quarantine and sanitization of arbitrary code.

Finally, why not consider the unix way of things? If find -ctime 1 myfilename comes up empty, your file has been dead for a day.

Cheers,
Matt


Comment on Re: assert - checking up on other scripts
Download Code
Re^2: assert - checking up on other scripts
by sflitman (Hermit) on Jul 22, 2010 at 19:10 UTC
    Thank you for your insights, that makes a lot of sense.
    (I have also wondered why deliver doesn't mean 'de-liver')
    SSF

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://850793]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (12)
As of 2014-07-30 14:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (234 votes), past polls