Как я могу сделать поддержку Perl a2p gawk? - PullRequest
2 голосов
/ 20 апреля 2009

У меня есть несколько скриптов awk, которые используют gawk от cygwin. Теперь мне нужно передать эти сценарии коллегам, у которых не установлен Cygwin, но есть Perl. Я надеялся, что смогу просто использовать a2p, который включен в Cygwin, но он терпит неудачу с такими ошибками:

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

Я надеюсь, что существуют существующие библиотеки / модули Perl, которые реализуют эти методы. Есть указатели?

1 Ответ

5 голосов
/ 20 апреля 2009

Функция gensub() не поддерживается a2p. Если вы измените свой код, чтобы вместо него использовать gsub(), он должен скомпилироваться.

В качестве альтернативы, вы можете добавить подпрограмму gensub() в конец переведенной Perl-программы для имитации функциональности gensub().

Однако Perl-код, созданный a2p, не очень удобен в обслуживании, поэтому я бы использовал его только в качестве крайней меры.

Если ваша программа gawk не обращается к другим утилитам cygwin / unix, то, вероятно, было бы лучше просто распространить исполняемый файл Windows gawk среди ваших коллег вместе с программой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...