Perl: Windows環境における system() 組み込み関数のエラー検証について
Perl ベストプラクティス本では、システムエラーの検証について以下のようにするのではなく
system $cmd and croak "Couldn't run: $cmd ($OS_ERROR)";
このようにすべしとある。
use POSIX qw( WIFEXITED ); WIFEXITED(system $cmd) and croak "Couldn't run: $cmd ($OS_ERROR)";
しかし、後者のコードを Windows 環境で実行するとこのようなエラーが通知される。
POSIX::WIFEXITED not implemented on this architecture at ...
まだPOSIXモジュールのソースを読み込んではいないが、結局前者の方法を取るしかないのか……
尚、Perl 6 では戻りのブール値が逆になり、ステータスコードが 0 の場合に true が返ってくるそうだ。
0 件のコメント:
コメントを投稿