Net::SFTP
usa Net::SSH::Perl
para construir una conexión
segura para la transferencia de ficheros.
cat -n examplenetsftp2.pl 1 #!/usr/bin/perl -w 2 use Net::SFTP; 3 use strict; 4 use Data::Dumper; 5 6 our $count = 0; 7 my $user = 'casiano'; 8 my $host = (shift or die "Dame una máquina!\n"); 9 my $pass = (shift or die "Dame una paspassn"); 10 my $sftp = Net::SFTP->new($host, user=>$user, password=>$pass); 11 $sftp->put($0, 'borrame.txt'); 12 $sftp->ls('.', sub { print "$_[0]->{filename}\t"; print "\n" if $count++ % 5 == 0 } ); 13 print "\n";En la línea 12 obtenemos la lista de ficheros. La interfaz del método
ls
es:
$sftp->ls($remote [, $subref ])donde
$remote
es el directorio en la máquina remota.
Si se especifica $subref
entonces la subrutina apuntada por
$subref
será llamada para cada entrada del directorio.
Se le pasa una referencia a un hash con tres claves:
filename
, El nombre de la entrada en el listado del directorio.
longname
, una entrada detallada tipo ls -l
.
a
, Un objeto Net::SFTP::Attributes
conteniendo
los atributos del fichero (atime, mtime, permisos, etc.).
$ ./examplenetsftp2.pl maquina password . .. tmp .screenrc .bash_logout .bash_profile .bashrc .mailcap .bash_history .gimp-1.2 .paraver .viminfo public_html lhp .Xauthority pl borrame.txt .bashrc~ .ssh examplesftp.pl
Casiano Rodríguez León