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
