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

Re: Find Prefix if regex didn't match

by greengaroo (Hermit)
on Oct 31, 2012 at 13:34 UTC ( #1001663=note: print w/ replies, xml ) Need Help??


in reply to Find Prefix if regex didn't match

Hello demoralizer and welcome to PerlMonks. May I ask you to post some (working) code here? Just put what you already came up with, even if it is slow, at least we will get a better idea of the context, then we can figure a way to optimize it. Thanks!

There are no stupid questions, but there are a lot of inquisitive idiots.


Comment on Re: Find Prefix if regex didn't match
Replies are listed 'Best First'.
Re^2: Find Prefix if regex didn't match
by demoralizer (Sexton) on Oct 31, 2012 at 15:01 UTC
    Hi greengaroo,

    show working code will be little bit hard because I'm listening to sockets... but here is sth. that should at least show what I'm trying to do:
    # $term is the socket # $text contains all received and unscanned text # $scanned contains all scanned text my $rec; my $time = gettimeofday(); while(1) { # sth. to read? if (read($term, $rec, 0xFFFF)) { # collect what have been read $text .= $rec; # expression found? if ($text =~ s/(.*)($expect)//s) { $scanned .= $1; $scanned .= "MATCH"; $scanned .= $2; return 0; } # shorten string for speed up elsif (length($text) >= 20) { $scanned .= "CUTTED"; $scanned .= substr($text, 0, length($text) - 20 + 1); $text = substr($text, length($text) - 20 + 1); } } # timeout? if (gettimeofday() - $time > $timeout) { $scanned .= "TIMEOUT"; return 1; } }
    It seems that the "elsif (length($text) >= 20)" makes things faster but doesn't do exactly what I want because in this way I can lose possible matchings :(

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (17)
As of 2015-07-31 17:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (279 votes), past polls