If I understand well, what you want is explained in the
documentation.
Here it is an extract from Net::FTP docs:
CONSTRUCTOR
new (HOST [,OPTIONS])
This is the constructor for a new Net::FTP object.
"HOST" is the name of the remote host to which a FTP
connection is required.
"OPTIONS" are passed in a hash like fashion, using key
and value pairs. Possible options are:
Firewall - The name of a machine which acts as a FTP
...
Port - The port number to connect to on the remote
machine for the FTP connection
Timeout - Set a timeout value (defaults to 120)
Debug - debug level (see the debug method in the
Net::Cmd manpage)
...
Timeout here is the key option, so you can say:
my $ftp = Net::FTP->new( $myhost, Timeout => 10, Debug => 1 );
...
$ftp->get($myfile) or warn("Can't get file $myfile");
$ftp->quit();
Hope this helps.