2009-02-06 94 views

回答

6

您当前的脚本可能使用了Net::FTP模块。您需要CPAN的Net::SFTP模块及其依赖关系。您甚至可以使用现有的脚本作为指导开始一个新的脚本。虽然逻辑是相同的。连接,发送和断开连接。

6

我实际上做了类似的事情。但是它需要准备任何当前的FTP脚本,以便在需要时通过SFTP运行。

我做了一个围绕Net::SFTP的包装对象,它看起来像一个Net::FTP对象。因此,所有的调用都可以留在具有不同实现的地方。

我从这个去:

my $client = Net::FTP->new(Host => 'ftp.somehost.com', ...); 

my $client = FTPClient->new(Host => 'ftp.somehost.com', ... 
          , secureFTP => 1 
          ); 

而只是实现我从Net::FTP使用的所有方法在我的新类。 Net::SFTP给出了一些不同的回报,所以你必须实际包装功能,而不是仅仅使用Class::Delegator之类的东西。

+0

你介意分享你的包装代码吗? TIA。 – simon04 2016-10-07 14:21:45