2009-04-20 69 views
2

我有一些使用cygwin中的gawk的awk脚本。现在我需要将这些脚本传递给没有安装cygwin的同事,但确实有Perl。我希望我可以只使用包含在Cygwin的A2P,但它失败,像以下错误:如何让Perl的a2p支持gawk?

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

我希望有现有的Perl库/实现这些方法的模块。任何指针?

回答

5

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

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

但是,由a2p生成的Perl代码不是很好维护,所以我只能用它作为最后的手段。

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

+0

感谢您的回复。我也在尝试使用a2p学习一些perl。你的回应有帮助。 – 2009-04-20 15:24:26