NAME

Tie::Handle::HTTP - Tie class for doing HTTP range requests for read calls.

SYNOPSIS

use Tie::Handle::HTTP;

tie *HANDLE, "http://example.com/largefile";
# or
my $fh = Tie::Handle::HTTP->new( "http://example.com/largefile" );

# Seek to 1 MB in the file
seek HANDLE, 1024 * 1024, 0;

# Read 1 KB from the middle
read HANDLE, my $buf, 1024;

DESCRIPTION

This module sets up a tied filehandle and associates it with a single HTTP address where each read on the filehandle will be performed as an HTTP Range request. Keepalives are used when possible, but requests will not be buffered in any way.

METHODS

Tie::Handle::HTTP->new( URI )

Takes a single argument, a URI string to open. Returns a globref for a tied filehandle in this class.

EXAMPLES

Example code can be found in the 'examples' directory found in the tarball for this module. Fresh copies can be downloaded from CPAN if you are unable to find the examples in a vendor distribution.

BUGS and LIMITATIONS

No buffering of any kind, may be added in future versions based on demand.

Scalar filehandle manipulation is not supported at this time, I'm not quite sure how to make it work.

AUTHOR

Jonathan Steinert, <hachi@cpan.org>

COPYRIGHT AND LICENSE

Copyright (C) 2006 by Six Apart, Ltd.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.4 or, at your option, any later version of Perl 5 you may have available.