perl - 使用 Modulename 的区别;并使用 Modulename();

标签 perl

use Modulename;有什么区别吗和 use Modulename(); ?
有时我会看到,例如 use Carp;有时 use Carp ();

最佳答案

documented ,

use Modulename;

基本上是一样的
BEGIN {
   require Modulename;
   import Modulename;
}

尽管
use Modulename ();

基本上是一样的
BEGIN { require Modulename; }

这意味着括号指定您不想导入任何内容。 (它也会阻止编译指示完成它的工作。)

鲤鱼导出confess , croakcarp默认情况下,所以
use Carp;

是简称
use Carp qw( confess croak carp );

通过使用
use Carp ();   # or: use Carp qw( );
confess , croakcarp不会被添加到调用者的命名空间中。它们仍可通过其完全限定名称使用。
use Carp ();
Carp::croak(...);

关于perl - 使用 Modulename 的区别;并使用 Modulename();,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16578037/

相关文章:

perl - 如何从 makefile 运行 Perl one liner?

珀尔 5.26 : How to get keys from 2d hash?

perl - 规划 perl 测试中的死亡

java - 如何在 ubuntu 中从 java 执行 perl 脚本

perl - 如何提取多个文件中的公共(public)行?

Perl 开关没有正确通过?

perl - 为什么这里需要两个 `{`?

perl - 如何在 Perl 中解析 XML 并创建树结构

perl - 避免系统 perl 函数中的代码注入(inject)

perl - 从父类(super class)访问 __DATA__