Имея проблему с выражением if в Perl, инструкция if if не работает. Что я делаю неправильно, потому что я использую строгий и предупреждающий модуль, но все же мой оператор if не работает.Как сделать оператор if в perl?
#!/usr/bin/env perl
use strict;
use warnings;
sub Granted
{
print "\n\nAccess Granted\n\n";
}
sub Access
{
print "\n\n\n\n";
sleep 1;
print "Enter your name: ";
my $name = <STDIN>;
sleep 1;
if ("$name" eq "jake")
{
Granted
}
}
Access
Нет причин использовать '' $ name "'. Просто используйте '$ name'. Но вы должны обрезать новую строку в конце '$ name', прежде чем выполнять сравнение. –
Хотя это действительно так, как вы его написали (случайно, я думаю), пожалуйста, вызовите свои подпрограммы следующим образом: 'Granted();', то есть с помощью parens '()' и final ';'. ';' _may_ будет опущен после последнего оператора в блоке (как и вы), но он уродлив. – PerlDuck
В случае сомнений: используйте данные: Dumper; Хранитель $ Data :: :: Useqq = 1; print Dumper $ name; ' – TLP