앞에서 언급 한 것처럼 x 수정자가 필요합니다. 그 변경자는 regexp의 모든 공백을 무시하고 (#으로 시작하는) 주석을 허용합니다. 당신은 당신이 []에 의해 정규 표현식에 일치하고 싶어 모든 공백을 대체하기 때문에 귀하의 경우에는
그것은,하지만 조금 추한, \ s 또는 \ S + :
$array_11 =~ m{By \s+ Steve \s+ (.*), \s+
MarketWatch \s+ LONDON \s+ (.*) \s+
-- \s+ Shares \s+ of \s+ Anglo \s+ American \s+
rallied \s+ on \s+ Monday \s+ morning \s+ as \s+
(.*) \s+ bet \s+ that \s+ the \s+ mining \s+
group \s+ will \w+ reject \w+ a \w+(.*)
}x;
그래서
my $sentence= q{By Steve (.*), MarketWatch LONDON (.*) }
. q{-- Shares of Anglo American rallied on Monday morning as (.*) }
. q{bet that the mining group will reject a (.*)}
;
my $array_11=~ m{$sentence};
마지막 코멘트 :이 배열 인 경우 $array_11
는 강력한 코드 냄새가, 다음 배열, 몇 가지되지 스칼라 변수를 만들 실제로 나는 아마 다음처럼 작성할 수 있습니다.
왜 스칼라 변수 $ array_11을 (를) 호출하고 있습니까? –
'string'의 고유 한 조합 수를 예상하고 있습니까? – TheMissingLINQ