Вы не должны предполагать, что совпадение прошло успешно, поэтому поместите его в if
.Кроме того, вам не нужно цитировать ваши именованные снимки: $+{vmxf_file}
получает это просто отлично.Здесь я предполагаю, что в имени файла нет пробелов или кавычек:
use 5.010;
if ($getfilelayout =~ /^ \h+ " (?<vmxf_file> ["\s]+ \.vmxf) " /xm) {
$captcha = $+{vmxf_file};
$found = $ssh_obj->capture("find -name $captcha");
}
Проблема «безопасности» заключается в том, что вы не знаете, какие метасхемы находятся в перехвате.Правильный способ - использовать что-то более похожее на
system("find", "-name", $captcha);
, но это не фиксирует ваш вывод.Я не думаю, что протокол ssh обеспечивает безопасный обстрел, но я не знаю.Какой класс вы используете?