Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re^2: Net::FTP

by Hue-Bond (Priest)
on May 02, 2006 at 04:05 UTC ( #546810=note: print w/replies, xml ) Need Help??


in reply to Re: Net::FTP
in thread Net::FTP

DISCLAIMER: I haven't ever used Net::FTP.

You can open scalars (v5.8.0 required) by passing a reference to that scalar to open:

my $pseudo_file = "line1\nline2\n"; open my $rfd, '<', \$pseudo_file or die "open1: $!"; open my $wfd, '>', 'foo' or die "open2: $!"; print $wfd $_ while <$rfd>; ## or 'print $wfd (<$rfd>);' if file +isn't large close $wfd; close $rfd;

So, according to the Net::FTP doc, I'd change your code to:

open my $fh, '<', \$pseudo_file_already_generated or die "open: $!"; $ftp->login("perl",'monk') or die "blah"; $ftp->put($fh, 'fh.txt') or warn "blah"; $ftp->quit;

Update: Better english.

--
David Serrano

Replies are listed 'Best First'.
Re^3: Net::FTP
by Anonymous Monk on Jun 09, 2016 at 07:45 UTC
    Hi,

    I am trying to implement this $ftp->login.
    But if the login is unsuccessful, I am getting the following error message and program gets terminated.
    Uncaught exception from user code: Cannot login Login incorrect.

    Is there any way to catch / handle this unsuccessful login, so that the program can continue?

      Untested:

      my $logged_in = eval { $ftp->login($un, $pw); 1; }; if (! $logged_in){ if ($@ =~ /login incorrect/i){ # do stuff, perhaps keep asking user for un/pw and # re-attempt login in a loop } else { # might not be a login error... # handle different exception } }

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://546810]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (2)
As of 2021-11-28 08:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?