gpt4 book ai didi

perl - 在 Perl 中为模块提供备用名称

转载 作者:行者123 更新时间:2023-12-02 11:51:41 25 4
gpt4 key购买 nike

在 Perl 中是否可以为模块分配一个新名称以在我们的代码中使用?

我的目的是:我的一些客户需要 .xls 文件 (Spreadsheet::Excel),其他客户需要 .xlsx (Excel::Writer::XLSX)。由于这两个模块共享大部分 API,因此我希望能够在项目开始时的某个地方设置该选项一次,然后就忘记它,这也使得将来可以轻松更改它。它也许还可以用于诸如鼠标/驼鹿更改之类的事情。

最佳答案

看来您真正想要的只是能够在名称在运行时确定的类上调用类方法(例如 new)。这实际上很简单:

my $spreadsheet_class = 'Spreadsheet::Excel';
my $sheet = $spreadsheet_class->new;

当您调用包含字符串的标量变量上的方法时,Perl 会将其视为该名称的包上的类方法。不需要花哨的符号表黑客,并且它在 use strict 下工作得很好。

关于perl - 在 Perl 中为模块提供备用名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18548179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com