2012-05-19 3 views
3

$ {foo는} 대 $ foo는 - 내가 어떤 문서를 찾을 수 없습니다perldoc을 변수 구문 : 내가 예를 들어이 건너 왔을 때 난 그냥의 perldocs을 검색했다

"aa" =~ /${a}/; # True 
"aa" =~ /${b}/; # True 
"aa0" =~ /${a}0/; # False! 
"aa0" =~ /${b}0/; # True 
"aa\x08" =~ /${a}0/; # True! 
"aa\x08" =~ /${b}0/; # False 

(http://perldoc.perl.org/perlre.html#Regular-Expressions는 캡처 그룹 예 참조) 그 문법이 무엇을 의미하는지.

그래서이 문맥에서 정규식/$ {a}/mean은 무엇입니까?

답변

2

$와 괄호는 변수 이름의 모호성을 방지합니다. 그러한 :

$foo = 'house'; 
'housecat' =~ /$foo/;  # matches 
'cathouse' =~ /cat$foo/; # matches 
'housecat' =~ /${foo}cat/; # matches 

또한 주어진 링크에서 $ a 및 $ b에 대한 정의가 있지만 여기에서 복사하는 것을 잊었습니다.

3

$a$a0에서 모호하게하려면 중괄호가 필요합니다. 토크 나이저는 욕심이 많으므로 가변 이름은 길이가 가장 길다는 것입니다. 시퀀스가 ​​가능합니다. 변수 보간에서 다른 영문자 또는 숫자가 뒤 따르는 경우 ${name} 구문이 필요합니다.