my ($temp) = /^projectname_flag_(.+)temp$/;
Обратите внимание, что круглые скобки вокруг $temp
необходимы, чтобы сопоставление с шаблоном выполнялось в контексте списка. Без них $temp
в конечном итоге будет содержать только значение true или false, указывающее, было ли совпадение успешным.
В более общем случае, сопоставление с образцом в контексте списка возвращает захваченные подшаблоны (или пустой список, если совпадение не удается). Например:
my $str = 'foo 123 456 bar';
my ($i, $j) = $str =~ /(\d+) +(\d+)/; # $i==123 $j==456