Net::SFTP

El módulo Net::SFTP es una implementación en Perl del protocolo SFTP construido sobre el protocolo SSH. 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: Veamos un ejemplo de ejecución:
$ ./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
Licencia de Creative Commons
Programación Distribuida y Mejora del Rendimiento
por Casiano Rodríguez León is licensed under a Creative Commons Reconocimiento 3.0 Unported License.

Permissions beyond the scope of this license may be available at http://campusvirtual.ull.es/ocw/course/view.php?id=44.
2012-06-19