Since you're being incredibly helpful, can I impose on you further than anon_monk did?
In the callback your @_... so the callback gets all 4096 bytes of $data, the $response is the same as the other $response in the snippet, or is that something else now, and the $protocol (which I assume is "http", "ftp", "file" or whatever else UserAgent handles).
Once the request is finished, does the original $response contain the full result of the transaction still? And is there a way to insert a last/return clause into the callback which aborts the request?
Since you're being incredibly helpful, can I impose on you further than anon_monk did?
Um, no. Now you're asking me to read you the manual.
If you read it and you don't understand,
then I will try to answer. You could also try writing
a few small example programs to test out your guesses
about how it works.
is there a way to insert a last/return clause into the callback which
aborts the request?
The general pattern for such things in Perl is:
eval { $ua->request($request, \&callback, 4096) };
if ($@ =~ /^Request aborted/) {
# handle aborted request
} elsif ($@) {
die;
}
sub callback {
# ...
die "Request aborted" if ...;
# ...
}