Я написал функцию для выполнения команды на удаленной машине.вызов функции perl с аргументами
Command : iptunnel add obs mode gre remote x.x.x.x local X.X.X.X ttl 225 $okey $ikey
$okey $ikey
значения передаются как аргументы.
Теперь, иногда я хочу выполнить команду WITHOUT $ okey и $ ikey.
Command : iptunnel add obs mode gre remote x.x.x.x local X.X.X.X ttl 225
Теперь мой вопрос: как передать значения $ okey и $ ikey в качестве дополнительных аргументов. Если значения $ okey и $ ikey НЕ передаются, необходимо выполнить следующую команду.
iptunnel add obs mode gre remote x.x.x.x local X.X.X.X ttl 225
Если переданы значения $ okey и $ ikey, тогда должна быть выполнена следующая команда.
iptunnel add obs mode gre remote x.x.x.x local X.X.X.X ttl 225 $okey $ikey
Функция:
sub gre_testing {
my ($self,$okey,$ikey) = @_;
$self->execute('iptunnel add obs mode gre remote x.x.x.x local X.X.X.X ttl 225 $okey $ikey');
return 1;
}
Вызов функции:
gre_testing(1000,1000);
Одиночные кавычки не интерполируют переменные. Используйте двойные кавычки. – choroba
'my ($ self, $ okey, $ ikey) = (@_, (" ") x 3 - @ _);' –
@ Сухой27 Это немного запутанно читать. Для меня хотя бы: | –