Я подозреваю, что ваша основная ошибка в том, что ваш файл не открыт из-за отсутствия пути /
между каталогом и именем файла.Вы можете использовать прагму autodie для проверки успешности открытия или использовать or die "Can't open file: $!"
.
У вас есть некоторые проблемы с областью действия.Во-первых, $message_class
будет неопределенным во всем цикле, поскольку его область действия длится только внутри одной итерации.Возможно, вы также захотите иметь хеш вне цикла, если хотите иметь возможность использовать его позже.
Я поместил оператор next
в проверку строки заголовка, так как другие проверки будут недействительнымив этой конкретной строке.Если вы хотите быть более точным, вы можете поместить все это вне цикла и просто выполнить однострочную проверку.
Вам не нужны две переменные для процесса и сервера, просто используйте их напрямую, иоба в одно и то же время.
Наконец, вы, вероятно, хотите отправить ссылку на хеш на Data::Dumper
в распечатке, иначе хеш будет расширен, и печать будет несколько вводить в заблуждение.1015 *