***@S04:~$ perl -we '$foo = "f"; print "Success\n" if ($foo ne "e")'
Success
***@S04:~$ perl -we '$foo = "f"; print "Success\n" if ($foo eq "e")'
***@S04:~$
Вы пытались проверить, что на самом деле $category
? Иногда эти вещи могут ускользнуть даже от лучших из нас ... Возможно, это строчные буквы или что-то совсем другое.
Когда я получаю неожиданные ошибки, я склонен использовать распечатку с разделителями вокруг того, что я хочу напечатать, поэтому я знаю, где это на самом деле начинается и заканчивается (в отличие от того, что мой разум может интерпретировать).
print "|>${category}<|";
Что еще примечательно, это Data :: Dumper :
use Data::Dumper;
print Dumper(\$category);