Net::FTP::RetrHandle man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

Net::FTP::RetrHandle(3User Contributed Perl DocumentatiNet::FTP::RetrHandle(3)

NAME
       Net::FTP::RetrHandle - Tied or IO::Handle-compatible interface to a
       file retrieved by FTP

SYNOPSIS
       Provides a file reading interface for reading all or parts of files
       located on a remote FTP server, including emulation of "seek" and
       support for downloading only the parts of the file requested.

DESCRIPTION
       Support for skipping the beginning of the file is implemented with the
       FTP "REST" command, which starts a retrieval at any point in the file.
       Support for skipping the end of the file is implemented with the FTP
       "ABOR" command, which stops the transfer.  With these two commands and
       some careful tracking of the current file position, we're able to
       reliably emulate a "seek/read" pair, and get only the parts of the file
       that are actually read.

       This was originally designed for use with Archive::Zip; it's reliable
       enough that the table of contents and individual files can be extracted
       from a remote ZIP archive without downloading the whole thing.  See
       EXAMPLES below.

       An interface compatible with IO::Handle is provided, along with a
       "tie"-based interface.

       Remember that an FTP server can only do one thing at a time, so make
       sure to "close" your connection before asking the FTP server to do
       nything else.

CONSTRUCTOR
   new ( $ftp, $filename, options... )
       Creates a new IO::Handle-compatible object to fetch all or parts of
       $filename using the FTP connection $ftp.

       Available options:

       MaxSkipSize => $size
	   If we need to move forward in a file or close the connection,
	   sometimes it's faster to just read the bytes we don't need than to
	   abort the connection and restart. This setting tells how many
	   unnecessary bytes we're willing to read rather than abort.  An
	   appropriate setting depends on the speed of transferring files and
	   the speed of reconnecting to the server.

       BlockSize => $size
	   When doing buffered reads, how many bytes to read at once.  The
	   default is the same as the default for Net::FTP, so it's generally
	   best to leave it alone.

       AlreadyBinary => $bool
	   If set to a true value, we assume the server is already in binary
	   mode, and don't try to set it.

METHODS
       Most of the methods implemented behave exactly like those from
       IO::Handle.

       These methods are implemented: "binmode", "clearerr", "close", "eof",
       "error", "getc", "getline", "getlines", "getpos", "read", "seek",
       "setpos", "sysseek", "tell", "ungetc", "opened".

TIED INTERFACE
       Instead of a IO::Handle-compatible interface, you can use a "tie"-based
       interface to use the standard Perl I/O operators.  You can use it like
       this:

	 use Net::FTP::RetrHandle;
	 # Create FTP object in $ftp
	 # Store filename in $filename
	 tie *FH, 'Net::FTP::RetrHandle', $ftp, $filename
	   or die "Error in tie!\n";

EXAMPLE
       Here's an example of listing a Zip file without downloading the whole
       thing:

	   #!/usr/bin/perl

	   use warnings;
	   use strict;

	   use Net::FTP;
	   use Net::FTP::AutoReconnect;
	   use Net::FTP::RetrHandle;
	   use Archive::Zip;

	   my $ftp = Net::FTP::AutoReconnect->new("ftp.info-zip.com", Debug => $ENV{DEBUG})
	       or die "connect error\n";
	   $ftp->login('anonymous','example@example.com')
	       or die "login error\n";
	   $ftp->cwd('/pub/infozip/UNIX/LINUX')
	       or die "cwd error\n";
	   my $fh = Net::FTP::RetrHandle->new($ftp,'unz551x-glibc.zip')
	       or die "Couldn't get handle to remote file\n";
	   my $zip = Archive::Zip->new($fh)
	       or die "Couldn't create Zip object\n";
	   foreach my $fn ($zip->memberNames())
	   {
	     print "unz551-glibc.zip: $fn\n";
	   }

AUTHOR
       Scott Gifford <sgifford@suspectclass.com>

BUGS
       The distinction between tied filehandles and "IO::Handle"-compatible
       filehandles should be blurrier.	It seems like other file handle
       objects you can freely mix method calls and traditional Perl
       operations, but I can't figure out how to do it.

       Many FTP servers don't like frequent connection aborts.	If that's the
       case, try Net::FTP::AutoReconnect, which will hide much of that from
       you.

       If the filehandle is tied and created with "gensym", "readline" doesn't
       work with older versions of Perl.  No idea why.

SEE ALSO
       Net::FTP, Net::FTP::AutoReconnect, IO::Handle.

COPYRIGHT
       Copyright (c) 2006 Scott Gifford. All rights reserved.  This program is
       free software; you can redistribute it and/or modify it under the same
       terms as Perl itself.

perl v5.14.2			  2006-09-28	       Net::FTP::RetrHandle(3)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net