Кто сказал, что ты не можешь?
#! /usr/bin/env perl
use warnings;
no warnings qw(uninitialized);
use strict;
use feature qw(say);
use Data::Dumper;
my $bar;
if (my $foo eq $bar) {
say "\$foo and \$bar match";
}
else {
say "Something freaky happened";
}
$ ./test.pl
$foo and $bar match
Работает отлично! Конечно, это не имеет смысла, так как вы тоже сравниваете $foo
? Не имеет значения.
Можете ли вы дать мне пример того, что вы делаете и какие результаты вы получаете?
Или, это больше, что вы имеете в виду?:
if (1 == 1) {
my $foo = "bar";
say "$foo"; #Okay, $foo is in scope
}
say "$foo;" #Fail: $foo doesn't exist because it's out of scope
Так, кого ты имеешь в виду?