我有一个要从命令行运行的主程序 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 顶部添加“使用”可能不是正确的做法。
注意我是一名长期的 C 程序员,而不是 perl 专家。我可能会问一些明显的问题。这是一个一次性的项目,将在一个月内化为乌有。在这个简短的项目结束后,mytool.pl 和 special?.pl(也包括 perl 本身)都不会引起人们的兴趣。因此,我们不关心复杂的解决方案或需要学习一些深层魔法的解决方案。快速和肮脏的首选。我猜 Perl 的模块机制对此有点矫枉过正,但不知道替代方案是什么。