Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
If you want to use a regex like Oct 10 05:5[0-2]:, then I'd say you don't need "start" and "end" values, because the desired range from start to end is fully expressed in that one regex.

If the intent of your example is to catch everything between "Oct 10 05:50:00" and "Oct 10 05:52:59" inclusive, then a logical two-arg, start/end spec would look like this (which would be pretty simple for any naive user to understand):

script.pl --start 'Oct 10 05:50 --end 'Oct 10 05:52'
(Including specific seconds values in the start and/or end options would also be simple.)

Depending on what kind of data the script is going to do its "binary search" over, it might be more sensible to use one of the Date:: modules, to interpret both the user's ARGV values and the date values in the data being searched - i.e. something like:

my $user_start_date = get_secs_from_opt( $opt{start} ); my $user_end_date = get_secs_from_opt( $opt{end} ); for my $record ( @data_records ) { my $rec_date = get_secs_from_data( $record ); if ( $rec_date >= $user_start_date and $rec_date <= $user_end_date + ) { # do something with a hit... } }
The "get_secs_from_*" functions would just invoke some suitable Date:: module to return "unix_time" (or whatever term is used for "seconds since the epoch" in the chosen module).

But then, I'm not sure what you mean by "binary search", so maybe this isn't helpful.


In reply to Re: dynamic regex by graff
in thread dynamic regex by mhearse

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



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others taking refuge in the Monastery: (3)
As of 2024-04-25 09:39 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found