Я думаю, вы просто пропустили всю опцию для файла /etc/modprobe.d/cuda.conf
. Попробуйте вместо этого:
options nvidia "NVreg_RestrictProfilingToAdminUsers=0"
Регулярное выражение Perl /^[Y]?$/i
нечувствительно соответствует необязательному Y
регистру символов -. ?
влияет на [Y]
, поскольку позволяет [Y]
соответствовать одному или нулю символов. Это означает, что все регулярное выражение также соответствует пустой строке.
[Y]
идентичен просто Y
. Если бы вы использовали [Yy]
, он соответствовал бы символу y
в верхнем или нижнем регистре -. В этом случае, поскольку вы используете /i
для получения нечувствительности к регистру -, достаточно /^Y$/i
. То же самое касается теста N
, используйте либо /^N$/i
, либо /^[Nn]$/
.
Для правильного цикла ввода сделайте что-то вроде
while (1) {
print 'Do you wish to continue (Y/N): ';
my $reply = <STDIN>;
if ($reply =~ /^Y/i) { last }
if ($reply =~ /^N/i) { print "Bye!\n"; exit }
print "Sorry, try again\n";
}
print "Continuing...\n"
Принимает любой ответ от пользователя, начинающийся с n
или y
, без учета регистра -.