A::(tmp:7): our $_ = 1;
DB<9> V :: _
@_ = (
0 0
1 '_'
2 *main::_
3 0
4 '-1'
)
DB<10>
위의 내용은 코드 첫 번째 줄에 V :: _
의 출력이며, @_
은 무엇을 의미합니까?펄의 코드 시작 부분에서 @_은 무엇을 의미합니까?
A::(tmp:7): our $_ = 1;
DB<9> V :: _
@_ = (
0 0
1 '_'
2 *main::_
3 0
4 '-1'
)
DB<10>
위의 내용은 코드 첫 번째 줄에 V :: _
의 출력이며, @_
은 무엇을 의미합니까?펄의 코드 시작 부분에서 @_은 무엇을 의미합니까?
@_
은 서브 루틴의 매개 변수를 보유하는 변수입니다. 디버거에서 V로 보았을 때 디버거 내부 서브 루틴의 일부 매개 변수가 표시됩니다.
http://perldoc.perl.org/perlvar.html#General-Variables 서브 루틴 배열 @_ 내
본질적으로그 루틴에 전달 된 파라미터를 포함한다. 서브 루틴 내부 @_ 기본 연산자 밀어 배열, 팝, 변화에 대한 배열 및 취소]는
, @_
이 $_
use Data::Dumper;
foo(0,'_',*main::_,0,-1);
sub foo {
print Dumper(\@_);
}
의 배열과 동일하다
출력 :
$VAR1 = [
0,
'_',
*::_,
0,
-1
];
perldoc을의 ATEST 버전 당신이 perlvar에서 필요한 부분 만 추출 -v
스위치와 변수를 찾아 보자?
$ perldoc -v '@_'
@ARG
@_ Within a subroutine the array @_ contains the parameters passed
to that subroutine. See perlsub.
이러한 매개 변수는 무엇을 의미 하는가를 코드 아니라 나 –