Параметр /r
для s/.../.../
был добавлен в Perl 5.14 (в 2011 году). Если вы используете более раннюю версию, ваш код не будет работать. У меня нет более ранней версии, доступной для тестирования, поэтому я не могу точно сказать, выдаст ли она сообщение об ошибке, которое вы видите.
Самое простое исправление, чтобы заставить это работать на более ранних версиях Perl, было бы что-то вроде этого:
sub getBackupFileName {
my ($containerName, $volume) = @_;
(my $backupFileName = $volume) =~ s%/%_%g;
return "${containerName}_${backupFileName}.tar";
}