我试图使用Net::SFTP连接到远程服务器。
我的剧本是:
my %args = (
ssh_args => {
user => 'canneu_scp',
identity_files => [ '/home/home1/cgrshah/responsys/capgemini.private' ],
debug => 1,
} );
my $targetserver='files.responsys.net';
my $sftp = Net::SFTP->new($targetserver, %args)
or die "could not open connection to $targetserver\n";但是当我运行这个程序时,我会收到一个错误声明:
Not an ARRAY reference at /usr/lib/perl5/site_perl/5.8.1/Net/SFTP.pm line 36.有人能帮我吗?
发布于 2010-10-19 15:10:20
这只是黑暗中的空想,但user选项不应该在传递给ssh_args的散列中,它处于相同的级别。尝试使用以下代码:
my $sftp = Net::SFTP->new(
$targetserver,
user => 'canneu_scp',
ssh_args => {
identity_files => [ '/home/home1/cgrshah/responsys/capgemini.private' ],
debug => 1,
}
) or die "could not open connection to $targetserver\n";听起来,上面的代码让您更进一步,现在您遇到了问题,因为您的Math::BigInt版本太老了。我看到了三种前进的方法:
later
Math::BigInt版本1.78的RPM或安装Math::BigInt的副本
第三种选择有许多缺陷,如果你决定加入它,我建议采取以下步骤:
installed
App::cpanminus
有一个gcc path wget -O- http://cpanmin.us ~/perl5/bin
使用cpanm --local-lib=~/perl5 Math::BigInt
use lib "$ENV{HOME}/perl5";将Math::BigInt安装到主目录中,到脚本的开头,以便找到新的模块https://stackoverflow.com/questions/3969463
复制相似问题