2017-01-31 4 views
0

저는 엘 캐피 탄이 운영되는 Mac에서 perl을 사용하여 영국 통화 인 £ 기호가 포함 된 행을 구문 분석하려고하지만 구문 분석을 할 수 없습니다. 이상적으로는 문자열을 Mac에서 Perl로 £를 파싱합니다.

@Line=split("£",$Hit);

을 분할하지만, 심지어 정규 표현식이 동작하지 않습니다 사용하고 싶습니다. 이스케이프가 작동하지 않습니다 Mac 문자 집합 문제입니까? 터미널에있는 리스팅은? £ 대신에

대상 텍스트는 시몽의 작곡가에 의해 쓰여진 HTML에서 지정된 앵커에서 온다 :

<a name="word1£word2">

+4

파일에서 이걸 읽으십니까? 파일의 인코딩은 무엇입니까? – ThisSuitIsBlackNot

+0

Western (ISO Latin 1)하지만 일부 러시아어 텍스트도 있습니다 – drw

+3

HTML을 읽는 경우 HTML 파서를 사용해야합니다. 또한 문자 엔티티를 사용하지 않는 한 파일이 ISO-Latin-1에 있고 러시아어 (키릴 문자) 텍스트를 포함 할 수 없습니다. 다시 말하지만 파일의 인코딩은 무엇입니까? – jcaron

답변

0

utf8 pragma는 유니 코드 문자로 사용하십시오. 샘플 코드는 다음과 같습니다.

use strict; 

use utf8; 

my $str = qq~<a name="word1£word2">~; 
my ($first, $second) = split("£", $str); 

print "$first $second\n"; 
+0

'£'을'\ N {U + 00A3}'으로주는 것보다 더 읽기 쉽습니다! – drw

1

하나의 간단한 대답은 \N{U+00A3}£에 대한 유니 코드

@Line=split("\N{U+00A3}",$Hit); 

될 것이다.