如何为Perl变量设置默认值?

前端之家收集整理的这篇文章主要介绍了如何为Perl变量设置默认值?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我对Perl完全陌生.我需要使用外部模块HTTP :: BrowserDetect.我正在测试一些代码,并尝试从os_string方法获取操作系统的名称.所以,我简单地初始化了对象并创建了一个变量来存储返回的值.
my $ua = HTTP::BrowserDetect->new($user_agent);
my $os_name = $ua->os_string();

print "$user_agent $os_name\n";

有一些用户代理不是浏览器用户代理,所以它们不会从os_string获取任何值.我收到错误在连接(.)或字符串中使用未初始化的值$os_name

当$os_name未初始化时,如何处理这种情况,因为方法os_string返回undef(这是我从阅读模块的源代码发生的).我想应该有办法给出一个默认的字符串,例如在这些情况下没有操作系统.

解决方法

my $os_name = $ua->os_string() || 'No OS';

如果$ua-> os_string()是伪造的(即:undef,zero或空字符串),则||的第二部分表达式将被评估(并将是表达式的值).

猜你在找的Perl相关文章