Perl 5 と Perl 6 の両方の環境で実行する必要がある Perl スクリプトがあります。Perl6 を使用している場合は「perl6::Form」を使用する必要があり、Perl5 では「Format」を使用する必要があります。
このコードは、両方のバージョンまたは perl でエラーなく動作します。
BEGIN {
if( $] ge 6){
require Perl6::Form;
Perl6::Form::->import();
}
}
しかし、Perl5 で実行するときに Perl6 コードを「分離」する方法がわかりません。
if( $] ge 6){ # Perl6
print form
...
...
} else { # perl5
format STDOUT =
...
...
}
Perl5でエラーが発生するため、これはきれいに機能しません:
Unquoted string "form" may clash with future reserved word at /usr/bin/script.pl line 628.
Name "main::form" used only once: possible typo at /usr/bin/script.pl line 641.
を簡単に見ましたText::CPP
が、インストールされているコンパイラに依存したくありません。任意の提案をいただければ幸いです。