2009-02-06 30 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