{ $fh = $self->_do_ftp_cmd("retr", $file); die("File unavailable: $file") unless $fh; } use Data::Dumper; warn sprintf "FILEHANDLE EXISTS AND HERE IT IS: %s", Dumper($fh); #### OUTPUT Warning: FILEHANDLE EXISTS AND HERE IT IS $VAR1 = bless( \*Symbol::GEN16, 'Net::FTP::I' ); #### package Net::FTP::I; use vars qw(@ISA $buf $VERSION); use Carp; require Net::FTP::dataconn; @ISA = qw(Net::FTP::dataconn); $VERSION = "1.08"; # $Id: //depot/libnet/Net/FTP/I.pm#6$ sub read { my $data = shift; local *buf = \$_[0]; shift; my $size = shift || croak 'read($buf,$size,[$timeout])'; my $timeout = @_ ? shift : $data->timeout; $data->can_read($timeout) or croak "Timeout"; my($b,$n,$l); ## *** the line below implies use of the hash part of ## *** the type glob my $blksize = ${*$data}{'net_ftp_blksize'}; # $blksize = $size if $size > $blksize;