我怎样才能让Perl的a2p支持gawk?

时间:2009-04-20 07:39:35

标签: perl awk

我有一些使用来自cygwin的gawk的awk脚本。现在我需要将这些脚本传递给没有安装cygwin的同事,但确实有Perl。我希望我可以使用cygwin中包含的a2p,但它失败并出现如下错误:

Undefined subroutine &main::gensub called at ./t.pl line 18, <> line 1.

我希望现有的Perl库/模块能够实现这些方法。有什么指针吗?

1 个答案:

答案 0 :(得分:5)

gensub()不支持a2p功能。如果您修改代码以使用gsub(),那么它应该编译。

或者,您可以在已翻译的Perl程序的末尾添加gensub()子例程,以模拟gensub()功能。

但是,a2p生成的Perl代码不是很易于维护,因此我只将其用作最后的手段。

如果您的gawk程序没有调用其他cygwin / unix实用程序,那么将Windows gawk可执行文件与程序一起分发给您的同事可能会更好。