アカウント名:
パスワード:
Perlのmagic header [wicurio.com]なんかはどうでしょう。perlスクリプトを動かすのに、shebang が正しく動作しない環境で動かしたり、perl フルパスを指定せずにパス検索実行したい、という要望に答えるために、bourne shell でも C shell でも perl でもエラーなく実行可能で、sh/csh だと、perlを起動して自身を動かす、というものです。
元になったのは、公式ドキュメント [perl.org]にも記載の
#!/bin/sheval 'exec perl -x -wS $0 ${1+"$@"}'if 0;以下、本当に実行したいperlのコードが続く(shだとperlをexecするのでエラーにならない)
というシンプルなコードですが、汎用性を求めて拡張するうちにぶくぶく太っちゃって…
>shebang が正しく動作しない環境でFindBin::BinとかCwd、File::Spec、File::Basenameとか使う話か、と思って読み進めたら違った。Sスイッチ [perl.org]でPATH読めるのか。いまいち何してるのか理解できないな。$@はevalした時にエラートラップするのに使うけどなんで1を足すんだ。
>公式ドキュメント以前スクリプトが動かないとクレームが入った時 [srad.jp]に非Unixシステムでの引用符記号の用法 [perl.org]を貼ってあげれば良かったな。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
人生unstable -- あるハッカー
perl の magic header (スコア:1)
Perlのmagic header [wicurio.com]なんかはどうでしょう。
perlスクリプトを動かすのに、shebang が正しく動作しない環境で動かしたり、perl フルパスを指定せずにパス検索実行したい、という要望に答えるために、
bourne shell でも C shell でも perl でもエラーなく実行可能で、sh/csh だと、perlを起動して自身を動かす、というものです。
元になったのは、公式ドキュメント [perl.org]にも記載の
というシンプルなコードですが、汎用性を求めて拡張するうちにぶくぶく太っちゃって…
Re:perl の magic header (スコア:1)
>shebang が正しく動作しない環境で
FindBin::BinとかCwd、File::Spec、File::Basenameとか使う話か、と思って読み進めたら違った。
Sスイッチ [perl.org]でPATH読めるのか。
いまいち何してるのか理解できないな。
$@はevalした時にエラートラップするのに使うけどなんで1を足すんだ。
>公式ドキュメント
以前スクリプトが動かないとクレームが入った時 [srad.jp]に非Unixシステムでの引用符記号の用法 [perl.org]を貼ってあげれば良かったな。