2013-02-19 3 views

답변

3

경고에 "신호 처리기"를 사용하고 플래그를 설정 한 다음 플래그가 설정되면 중단 할 수 있습니다.

our $warn_flag = 0; 
$SIG{__WARN__} = sub { $warn_flag = 1; CORE::warn(@_) }; 

... 

for $i (1 .. 1_000_000_000) { 
    do_something_that_might_warn(); 
    $DB::single ||= $warn_flag; 
    $warn_flag = 0; 
} 
+0

'$ SIG {__ WARN__} = sub {$ DB :: single = 1; CORE :: warn (@_)};'디버거에서's'를 사용하여 원하는 곳으로 되돌아갑니다. – knarf

+0

신호 처리기에서 벗어나지 않아도된다면 효과가 있습니다. – mob

1
use warnings qw(FATAL); 

이 자동으로 디버거가 깨질 것 어휘 범위에 오류 경고를 변환합니다.

관련 문제