Параметр 'pattern' (undef) для DateTime::Format::Strptime::new был 'undef', который не является одним из разрешенных типов: скалярное скалярное
В настоящее время у меня проблема с отображением браузера сценариев perl cgi на моем локальном компьютере ( http://localhost:8080/Monitoring/www/user_status.xml.pl?user=xxxxxx). Поскольку это была первая установка Perl, я понимаю, что там могут отсутствовать библиотеки, поэтому я делаю это, перетаскивая необходимые "pm" на мою локальную машину (с сервера Ubuntu компании, где cgi работает нормально), и перезапускаю Apache, чтобы подобрать последние исправления. Все выглядит нормально, пока я работаю над проблемами "Не могу найти...", пока не остановлюсь на следующей проблеме.
The 'pattern' parameter (undef) to DateTime::Format::Strptime::new was an 'undef', which is not one of the allowed types: scalar scalarref
at C:\xampp\htdocs\Monitoring\lib/Params/ValidatePP.pm line 653.
Params::Validate::__ANON__("The 'pattern' parameter (undef) to DateTime::Format::Strptime"...) called at C:\xampp\htdocs\Monitoring\lib/Params/ValidatePP.pm line 497
Params::Validate::_validate_one_param(undef, HASH(0x26e646c), HASH(0x26e68d4), "The 'pattern' parameter (undef)") called at C:\xampp\htdocs\Monitoring\lib/Params/ValidatePP.pm line 356
Params::Validate::validate(ARRAY(0x26e8b24), HASH(0x26e6514)) called at C:\xampp\htdocs\Monitoring\lib/DateTime/Format/Strptime.pm line 131
DateTime::Format::Strptime::new(undef, "pattern", undef) called at C:\xampp\htdocs\Monitoring\lib/Geo/DateTime.pm line 47
require Geo/DateTime.pm called at C:/xampp/htdocs/Monitoring/www/user_status.xml.pl line 10
main::BEGIN() called at C:\xampp\htdocs\Monitoring\lib/Geo/DateTime.pm line 0
eval {...} called at C:\xampp\htdocs\Monitoring\lib/Geo/DateTime.pm line 0
Compilation failed in require at C:/xampp/htdocs/Monitoring/www/user_status.xml.pl line 10.
BEGIN failed--compilation aborted at C:/xampp/htdocs/Monitoring/www/user_status.xml.pl line 10.
Мне кажется, что библиотеки Perl имеют внутренние проблемы и жалуются на собственный код. Сделал поиск в Google, не смог найти ни одного решения / предложения по проблеме, описанной в заголовке. И не похоже на проблему с отсутствующими библиотеками.
Кто-нибудь знает, в чем здесь проблема и что я могу сделать, чтобы это исправить?
Ура Дейл
1 ответ
В строке 47 C:\xampp\htdocs\Monitoring\lib\Geo\DateTime.pm
, у вас есть что-то эквивалентное следующему:
DateTime::Format::Strptime::new(undef, "pattern", undef)
Это показывает две ошибки:
- Вы назвали
new
как подпрограмма, а не как метод (так как инвокант не определен). - Вы указали неверное значение для шаблона.