【发布时间】:2012-04-11 22:17:42
【问题描述】:
我有一个要从命令行运行的主程序 mytool.pl。有几个辅助脚本 special1.pl、special2.pl 等,每个都包含几个子例程和一个哈希,所有脚本的名称都相同。假设它们被命名为 MySpecialFunction()、AnotherSpecialFunction() 和 %SpecialData。
我希望 mytool 根据命令行选项包含/使用/导入特殊*.pl 文件之一的内容,只有一个。例如,用户会这样做:
bash> perl mytool.pl --specialcase=5
mytools 将使用 special5.pl 中的 MySpecialFunction(),并忽略所有其他 special*.pl 文件。
这可能吗?怎么做?
请务必注意,要使用的特殊文件的选择是在运行时进行的,因此在 mytool.pl 顶部添加“use”可能不是正确的做法。
注意我是一名资深的 C 程序员,而不是 perl 专家;我可能会问一些明显的问题。 这是一个一次性的项目,将在一个月内化为乌有。 mytool.pl 和 special?.pl(也不是 perl 本身)在这个简短的项目结束后都不会引起人们的兴趣。因此,我们不关心复杂的解决方案或需要学习一些深层魔法的解决方案。快速和肮脏的首选。我猜 Perl 的模块机制对此有点矫枉过正,但不知道有什么替代方案。
【问题讨论】:
标签: perl include perl-module