나는 Perl에서 해시의 해시를 다루고 있으며 몇 가지 문제가있다. 내 코드가 실행되고 있는지 잠시 후에는이 비슷한 모양 해시의 해시 생성삭제되었지만 여전히 정의되어 있습니까?
my %book = (
+1 => {
27 => 100,
24 => 1000,
},
-1 => {
30 => 200,
31 => 500,
}
);
좀 더 많은 데이터를 처리 한 후이 코드는 다음과 같은 사용하여 해시의 두 항목을 제거 끝 코드 줄 :
delete $book{-1}{30};
delete $book{-1}{31};
따라서 해시는 절반 비어 있어야합니다.
if ((defined $book{+1}) && (defined $book{-1})){
do A
}else{
do B
}
내 코드가 아니라 그가의 "-1"쪽부터해야 "일이 B"가 아닌 "일이 A"를하고 끝 : 나중에 내 코드에서 내가 실행할 때 문이 경우, 다음과 같은 해시가 삭제되었습니다. 이것이 어떻게 가능한지? 그리고 가장 중요한 것은이 문제를 어떻게 해결할 것인가?
는 답변 만 변경하지 않는 것이 좋습니다 놀라게 테스트 및 작동하고 당신의'테스트에 && % {$ 책은 {-1}}은' – ysth