【发布时间】:2015-03-18 17:44:51
【问题描述】:
我正在尝试将文件从主机复制到创建的目录。这是我的脚本:
use strict;
use Getopt::Long;
use Net::SCP::Expect;
my $filename;
GetOptions(
"file=s" => \$filename
);
my $src_path="/";
my $directory;
open(INBOX, "<$filename") or die "Can't open $filename\n";
while(<INBOX>) {
chomp;
my @arr = split(/:/);
my $host=$arr[0];
my $username=$arr[1];
my $password=$arr[2];
sub main {
my $directory = "temp";
unless(-e $directory or mkdir $directory) {
die "Unable to create $directory";
}
}
main();
print "Copying from $host \n";
my $scpe = Net::SCP::Expect->new(
host => $host,
user => $username,
password => $password,
);
$scpe->scp($host . ":" . $src_path, $directory);
但是在这里我无法将文件从主机移动或复制到创建的名为 temp 的目录。你能在 Perl 这方面帮助我吗?
【问题讨论】:
-
运行程序时会发生什么?您收到任何错误消息吗?
-
如您所见,我试图改进您答案的格式。似乎这只是代码的一部分,或者在它的末尾缺少一个右花括号
}。尽量保持代码正确缩进,因为您很容易看到错误。使用可以使用perltidy,它将安全、自动地漂亮地格式化您的代码。 -
你检查过
scp函数返回的错误码吗?