7 foreach (@crons) {
8 unless (index($_, "cks") != -1) {
9 unless (index($_, "aab") != -1) {
10 unless (index($_, "lam") != -1) {
11 push (@found, $_);
12 }
13 }
14 }
15 }
怎麼來的上述不給輸出以下相同:perl嵌套除非聲明不等於使用&&?
7 foreach (@crons) {
8 unless (index($_, "cks") != -1 && index($_, "aab") != -1 && index($_, "lam") != -1) {
9 push (@found, $_);
10 }
11 }
@crons具有字符串列表,我試圖讓不具有「中正」的所有字符串「 AAB」和‘林’
的第一部分代碼我想要做什麼,但第二次犯規,並在我的腦海裏,它應該...
任何人都關心解釋爲什麼他們是不一樣的,也不爲什麼它不給相同的輸出?
'foreach(@crons){push @found,$ _ if!/cks/&&!/aab/&&! /我是/; ''更清晰易讀。 – Zaid
或者(感謝[de Morgan's law](https://en.wikipedia.org/wiki/De_Morgan%27s_laws)):'for(@crons){push @found,$ _除非/ cks /或/ aab /或/ lam /; }' – Zaid