Thanks, I was thinking along those lines and wrote some code to try and do that. However, Deltas only get populated when changes occur. So in the end, it appears the file actually has to change for me to get mtime? That doesn't seem to make sense.

This line from the doc is what throws me:

"The state of the monitored file or directory at the time of the last scan can be queried. Before scan is called these methods will all return undef."

Am I nuts or does that seem to indicate you can simply call on the methods after the initial scan is run?

The trouble is I want to determine if I should exit after the first scan based on an mtime passed on the command line. If the file's mtime and the mtime passed in are true in some relative way (lt,gt,ne,eq) then there's no need to go further and do deltas.

I can't seem to find the line you quote in the docs. If I'd had to guess I'd say they're probably referring to the old_* fields in the delta object, which let you compare the values before and after the change.

Why don't you just query the files directly and only add them to the monitor if the mtime is fine? You have the filename, so you can just do a stat on it directly, can't you?