However, since TCP sockets that really receive their data in packets look like any pipe, it could be cool to do it so that I could define a regexp, and after a while of munching I would have a match and socket in such state that reading from it would give me the area of $' ($' itself would obviously be undefined...). I even imagine this could be technically possible, at least if regexp is in maximal non-greedy mode (so it wouldn't need to go further down the socket just to see if longer match was possible). However, I don't see a way to do this with current perl. Is there? Should somebody code it?

Currently if I want to do linefree regexp on socket, I have to

undef $/; $slurp=<SOCKET>; $slurp =~ m/wha+t\n?\s*ever/;
to do that. That kinda pisses me off, because then I'll have to emulate the pipe behaviour

$s=(length $`)+(length $&); substr($slurp,$s) =~ m/post\s*match/;
to do what I want, plus I have to download more than I actually needed. (I'm not quite sure about that)

In reply to RE: Re: reading from sockets by kaatunut
in thread reading from sockets by $CBAS

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.