문제

나는 Perl을 처음 접했고 궁금합니다 @{$list_ref} 그리고 @$list_ref 완벽하게 동일합니다.

그들은 상호 교환 할 수있는 것처럼 보이지만, 나는 내가 놓칠 수있는 미묘한 일이 있다고 긴장합니다.

도움이 되었습니까?

해결책

예, 그들은 동등합니다. 표현식이 간단한 스칼라 변수 이상인 경우 버팀대가 필요합니다. 예를 들어,

push @{ $foo{$bar} } => "baz";

자세한 내용은 참조 사용 섹션의 섹션 참조 문서. 표준 PERL 문서에는 참조 사용에 대한 몇 가지 자습서가 포함되어 있습니다.

다른 팁

나는 항상 바깥 쪽지가 구문 마법이 아니라는 것을 기억하는 것이 항상 도움이된다는 것을 알았습니다. 그들은 단지 참조를 반환하는 블록 일뿐입니다. 블록 내부의 표현은 참조를 반환하는 것이 될 수 있습니다.

$ perl -le 'sub foo {[qw/ apple orange banana /]} print ${print "Do something here."; foo()} [1]'
Do something here.
orange
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top