1
나는 정규 표현식과 텍스트에서 모든 IP를 구문 분석하려고 :: 일반 :: 인터넷 사용하려고 :오류는 펄 정규 표현식 :: 일반 :: 인터넷 등
use strict;
use Regexp::Common::net;
if ($ids{$h} =~ /$RE{net}{IPv4}/) {
print $1;
}
을하지만이 오류가 점점 계속 :
Global symbol "%RE" requires explicit package name at example.pl
나는 또한 시도 :
if ($ids{$h} =~ $RE{net}{IPv4})
및
if ($ids{$h} =~ m/$RE{net}{IPv4}/)
운이없는.
그것은 매우 일반적이다는'사용 정규 표현식을 작성하는 :: 공통 QW를 (그물)'. 이 방법의 장점은 한 줄에 여러 기호를 가져올 수 있다는 것입니다 (예 : 'Regexp :: Common qw (net CC) '를 사용하십시오. –
좋습니다. 나는 전문적인 이유로 펄을 배우고 있는데, qw() 문에 대해 궁금해했다. 그러나 나는 그것들을 배울 필요가 없다. – Bruno9779
'qw'는 문자열의 각 단어에서리스트를 생성하므로 이전 예제 'Regexp :: Common ("net", "CC")를 사용하는 것과 같습니다. [따옴표 및 인용 연산자와 같은] 문서를 체크 아웃하는 것이 좋습니다. (http://perldoc.perl.org/perlop.html#Quote-and-Quote-like-Operators) –