Хорошо, есть форма ввода с 4 текстовыми полями.Я получаю ввод, используя CGI.pm:
my $exc0 = param('exclude0') || 'a';
my $exc1 = param('exclude1') || 'a';
my $exc2 = param('exclude2') || 'a';
my $exc3 = param('exclude3') || 'a';
Причина, по которой я должен был включить || 'a'
, состоит в том, чтобы позволить ему работать, если не было ввода.Есть ли более безопасный способ сделать это?
Он вызывается позже в регулярном выражении:
next if ($totalmatch->[2] =~ /\b$exc0\b/i);
next if ($totalmatch->[2] =~ /\b$exc1\b/i);
next if ($totalmatch->[2] =~ /\b$exc2\b/i);
next if ($totalmatch->[2] =~ /\b$exc3\b/i);
Где $totalmatch->[2]
- предложение.Если я не проверяю отсутствие ввода, то при отсутствии ввода совпадения не возникают (иначе оно включает $exc
в каждом случае).Я предполагаю, что это потому, что в каждом предложении есть неопределенный знак или пробел?
Я пробовал || ''
, и я полагаю, я мог бы использовать if ($exc0)
или if defined()
или eq ''
но просто ищу помощи.
Большое спасибо за ваше время.