Я совершенно не знаком с Perl. Мне нужно было использовать внешний модуль HTTP :: BrowserDetect. Я тестировал некоторый код и пытался получить имя ОС по методу os_string. Итак, я просто инициализировал объект и создал переменную для хранения возвращаемого значения.Как установить значение по умолчанию для Perl-переменной?
my $ua = HTTP::BrowserDetect->new($user_agent);
my $os_name = $ua->os_string();
print "$user_agent $os_name\n";
есть некоторые пользовательские агенты, которые не являются браузерными агентами пользователей, поэтому они не получат никакого значения от os_string. Я получаю сообщение об ошибке Use of uninitialized value $os_name in concatenation (.) or string
Как обрабатывать такие случаи, когда $ os_name не инициализируется, потому что метод os_string возвращает undef (это то, что, как мне кажется, происходит от чтения исходного кода модуля). Я предполагаю, что должен быть способ предоставить строку по умолчанию, например. В этих случаях нет ОС.
спасибо, это действительно была очень простая проблема :). – sfactor