我有一些使用来自cygwin的gawk的awk脚本。现在我需要将这些脚本传递给没有安装cygwin的同事,但确实有Perl。我希望我可以使用cygwin中包含的a2p,但它失败并出现如下错误:
Undefined subroutine &main::gensub called at ./t.pl line 18, <> line 1.
我希望现有的Perl库/模块能够实现这些方法。有什么指针吗?
答案 0 :(得分:5)
gensub()
不支持a2p
功能。如果您修改代码以使用gsub()
,那么它应该编译。
或者,您可以在已翻译的Perl程序的末尾添加gensub()
子例程,以模拟gensub()
功能。
但是,a2p
生成的Perl代码不是很易于维护,因此我只将其用作最后的手段。
如果您的gawk程序没有调用其他cygwin / unix实用程序,那么将Windows gawk可执行文件与程序一起分发给您的同事可能会更好。