在Perl中,如何在不生成警告的情况下检查Socket选项的存在?
我正在使用Perl检查各种套接字选项的存在和默认值.
#!/usr/bin/perl -w use strict; use Socket; if (defined(SO_BROADCAST)) { print("SO_BROADCAST definedn"); } if (defined(SO_REUSEPORT)) { print("SO_REUSEPORT definedn"); } 当我运行它时输出: SO_BROADCAST已定义 您的供应商尚未定义Socket宏SO_REUSEPORT,在./checkopts.pl第9行使用 有没有办法在输出中不生成警告的情况下执行此操作? 解决方法
询问是否已定义sub,而不是是否定义了表达式的值:
if (defined &SO_REUSEPORT) { ... } documentation for
如果将子导出到您的命名空间,则必须定义它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |