Я пытаюсь скопировать файлы с хоста в созданный каталог. Вот мой сценарий:Как скопировать файлы с хоста в созданный каталог?
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);
Но здесь я не могу переместить или скопировать файлы с компьютера на созданную директорию под названием Темп. Можете ли вы мне помочь в этом отношении в Perl?
Что происходит, когда вы запускаете программу? Вы получаете сообщения об ошибках? – Kenster
Как вы можете видеть, я попытался улучшить форматирование вашего ответа. Похоже, что это только часть кода, или есть закрывающая фигурная скобка '}', отсутствующая в конце ее. Постарайтесь, чтобы ваш код отступал правильно, так как вы легко увидите ошибки. Использование может использовать ['perltidy'] (https://metacpan.org/pod/perltidy), который безопасно и автоматически красиво форматирует ваш код. –
Вы проверили код ошибки, возвращаемый функцией 'scp'? – Jens