perl - 如何导出Perl程序包中的所有子程序?

标签 perl function export subroutine

我想将所有子项公开到我的命名空间中,而不必一次列出它们:

@EXPORT = qw( firstsub secondsub third sub etc );

使用完全限定的名称将需要对现有代码进行大量更改,因此我宁愿不这样做。

有@EXPORT_ALL吗?

我认为文档说这是个坏主意,但无论如何我还是想这样做,或者至少知道如何做。

回答Jon的原因:现在,为了进行快速重构,我想将一堆子程序转移到它们自己的程序包中,而麻烦和代码更改到现有脚本的程度最少(这些子程序当前被使用并且经常重复)。

而且,大多数情况下,我只是好奇。
(因为似乎Exporter可能还具有该功能作为标准功能,但基于到目前为止的答案却有些令人吃惊,但事实并非如此)

最佳答案

根本不执行任何导出操作,也不要在库中声明程序包名称。只需使用require加载文件,一切都将在当前包中。十分简单。

关于perl - 如何导出Perl程序包中的所有子程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/732133/

相关文章:

perl - 为什么即使我从 Try::Tiny 的 finally block 返回一个值,也会收到 'use of uninitialized value' 警告?

windows - Windows 上的 perl 初学者 - 在 Windows 命令提示符下执行 perl -n -e 时出现问题

Javascript - 引用实例化对象

ms-access - 将MS Access图表导出到Word/Excel

perl - 为什么CPAN.pm升级失败?

JavaScript 函数语句

C++:在不知道函数名的情况下获取当前函数指针?

sql - 使用 PostgreSQL 的 PgAdmin-III 导出数据库

c# - 如何从 C# 保存到 Excel?

Perl - 递归检查目录树