is not what :read_size_hint => $bytes of LWP::UserAgent is for?

or in other words: is :read_size_hint the implementation of the HTTP ranges you are talking about?

If i remember the hint word is there because there is no guarantee that the chunk retrieved will be exactly $bytes long: it is merely a hint, which LWP may disregard.

Even with such recomendation i remember i read somewhere, the following example seems to demonstrate that data is retrieved exactly by chunks of desired length, even for bizarre values of $bytes

Obviosly the last chunk will be of arbitrary lenght.

use strict; use warnings; use LWP::UserAgent; my @pages = ('http://www.perlmonks.org','http://perldoc.org'); my $ua = LWP::UserAgent->new; my $chunk; foreach my $url (@pages){ $chunk = 1; print +("=" x 70),"\n","\t\t$url\n",("=" x 70),"\n"; my $response = $ua->get($url, ':content_cb'=>\&head_only,':rea +d_size_hint' => $ARGV[0] || 1024); } sub head_only{ my ($data,$resp,$protocol) = @_; print "chunk number ", $chunk++,"\t",length $data," bytes received +\n"; } perl webinchunks04hint.pl 2048 ====================================================================== http://www.perlmonks.org ====================================================================== chunk number 1 2048 bytes received chunk number 2 2048 bytes received chunk number 3 2048 bytes received chunk number 4 2048 bytes received chunk number 5 2048 bytes received chunk number 6 2048 bytes received chunk number 7 2048 bytes received chunk number 8 2048 bytes received chunk number 9 2048 bytes received chunk number 10 2048 bytes received chunk number 11 2048 bytes received chunk number 12 2048 bytes received chunk number 13 2048 bytes received chunk number 14 2048 bytes received chunk number 15 2048 bytes received chunk number 16 2048 bytes received chunk number 17 2048 bytes received chunk number 18 2048 bytes received chunk number 19 2048 bytes received chunk number 20 2048 bytes received chunk number 21 2048 bytes received chunk number 22 2048 bytes received chunk number 23 2048 bytes received chunk number 24 2048 bytes received chunk number 25 2048 bytes received chunk number 26 2048 bytes received chunk number 27 2048 bytes received chunk number 28 2048 bytes received chunk number 29 2048 bytes received chunk number 30 2048 bytes received chunk number 31 2048 bytes received chunk number 32 2048 bytes received chunk number 33 2048 bytes received chunk number 34 2048 bytes received chunk number 35 2048 bytes received chunk number 36 2048 bytes received chunk number 37 1066 bytes received ====================================================================== http://perldoc.org ====================================================================== chunk number 1 2048 bytes received chunk number 2 2048 bytes received chunk number 3 2048 bytes received chunk number 4 2048 bytes received chunk number 5 2048 bytes received chunk number 6 2048 bytes received chunk number 7 2048 bytes received chunk number 8 2048 bytes received chunk number 9 361 bytes received

thanks

L*

There are no rules, there are no thumbs..
Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.

In reply to Re^6: Split file, first 30 lines only (HTTP Ranges and :read_size_hint) by Discipulus
in thread Split file, first 30 lines only by wrkrbeee

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.