내가 좋아하는 것 처음 선언 내 @Array
에반환하는 배열을 처리하는 서브 루틴?
my @Array;
for (my $i=1; $i <= 10000; $i++) {
ProsArray(\@Array);
}
sub ProsArray {
my @Array = @{$_[0]};
#do stuff to @Array (e.g., remove or add elements...
push(@Array,10);
return(@Array);
}
그러나, 서브 루틴의 역할에 -하지 @Array
에 이전 반복에서 반환합니다.
나는 그래서 반환 된 배열이 아닌 초기를 처리 할
while(...){
@Array = ProsArray(\@Array);
}
같은 것을하고 싶습니다. 코멘트에서
그리고 당신이 쓴 코드 문제점은 무엇입니까? – jkeuhlen
서브 루틴에서'@ Array'의 일부 요소를 제거하려고합니다. 내가 (soubroutine에서) 그렇게 한 후에 그것을 출력 할 때, 배열은 내가 원하는대로이다. 그러나 서브 루틴이 다음 반복에서 그것을 처리하려고 할 때, 그 요소는 여전히 제거되지만 그들의 위치는'undef' 값입니다 (서브 루틴을 호출하기 전에 배열을 인쇄 할 때, 즉 빈 줄을 인쇄 할 때 내가 삭제했던 요소). – user86895
ProsArray (\ @ Array)와 같이 호출 할 수 있다고 생각합니다. – jkeuhlen