Я в основном сетевой парень и поэтому не очень хорош в написании сценариев.
При написании некоторых сценариев я столкнулся с требованиями ниже.
У меня есть хэш-массив с некоторыми значениями "1" или "2", и мое требование
если все значения, отличные от «1» (могут быть «2» или «3»), то он напечатает какое-то утверждение один раз, а затем выйдет из этого цикла.
если любое значение равно «1», то будет напечатано какое-то утверждение.
например:
my %hash_array1=(A=>2,B=>2,C=>2);
my @array2=values (%hash_array1);
foreach my $line (@array2) {
if ($line!=1) {
print BOLD GREEN "\rNo Evolution ",RESET;
last;
}
else {
print BOLD RED "Evolution \n",RESET;
}
}
который печатать
No Evolution
Вышеупомянутый код работает хорошо, как и ожидалось для упомянутого hash_array, потому что все значения не "1", но не работают хорошо для ниже хэшей
my %hash_array1=(A=>1,B=>2,C=>2);
где печатается
Evolution
No Evolution
что не соответствует моим ожиданиям. Я хочу здесь напечатать, как один раз «Эволюция» и «Нет эволюции» больше не должны печататься. (Однако цикл должен продолжаться итерацией)
Пожалуйста, дайте мне знать, если требуется больше ясности.
Привет
Махеш