반응형
Perl에서 루프를 해제하려면 어떻게해야합니까?
루프 break
에서 명령문 을 사용하려고하는데 for
Perl 코드에서 엄격한 서브를 사용하고 있기 때문에 오류가 발생합니다.
./final.pl 라인 154에서 "strict subs"를 사용하는 동안 Bareword "break"는 사용할 수 없습니다.
이것에 대한 해결책이 있습니까 (엄격한 잠수함을 비활성화하는 것 외에)?
내 코드의 형식은 다음과 같습니다.
for my $entry (@array){
if ($string eq "text"){
break;
}
}
for my $entry (@array){
if ($string eq "text"){
last;
}
}
추가 데이터 (질문이 더있는 경우) :
FOO: {
for my $i ( @listone ){
for my $j ( @listtwo ){
if ( cond( $i,$j ) ){
last FOO; # --->
# |
} # |
} # |
} # |
} # <-------------------------------
간단히 last
여기에서 작동합니다.
for my $entry (@array){
if ($string eq "text"){
last;
}
}
중첩 루프가 있으면 last
가장 안쪽에서 빠져 나옵니다. 이 경우 라벨을 사용하십시오.
LBL_SCORE: {
for my $entry1 ( @array1 ){
for my $entry2 ( @array2 ){
if ( $entry1 eq $entry2 ){ # or any condition
last LBL_SCORE;
}
}
}
}
주어진 last
문장은 컴파일러가 두 루프에서 나오도록합니다. 루프 수에 관계없이 동일한 작업을 수행 할 수 있으며 어디에서나 레이블을 수정할 수 있습니다.
큰 반복에서는 인터럽트를 사용하는 것이 좋습니다. Ctrl+ C를 누르면 종료됩니다.
my $exitflag = 0;
$SIG{INT} = sub { $exitflag=1 };
while(!$exitflag) {
# Do your stuff
}
참고 URL : https://stackoverflow.com/questions/303216/how-do-i-break-out-of-a-loop-in-perl
반응형
'IT' 카테고리의 다른 글
UTC / GMT 시간을 현지 시간으로 변환 (0) | 2020.03.19 |
---|---|
인라인 onclick 속성으로 이벤트 전파를 중지하는 방법은 무엇입니까? (0) | 2020.03.19 |
한 번의 클릭으로 많은 기능을 추가하는 방법은 무엇입니까? (0) | 2020.03.19 |
TortoiseSVN에서 사용자를 변경하는 방법 (0) | 2020.03.19 |
PHP에서 문자열 끝에서 3자를 어떻게 제거 할 수 있습니까? (0) | 2020.03.19 |