Perlスクリプトを書き始めるにあたって、ファイル名の付け方や文字コード/改行コードの設定方法をまとめました。
- ファイル名
- cgiプログラム
- モジュール
- テストコード
- 文字コード
- 改行コード
少なくともコーディング中は拡張子に.plを付ける。拡張子に.plが付いていればエディタが自動的にPerl用のモードに設定されるのがその理由。
ただし、コーディングやテストが終わって、スクリプトを利用者に提供する場合に、拡張子を外した方が良い理由が二つが有る。第一の理由はタイプ数。
「$ perl Foo.pl」とタイプするより、「$ perl Foo」の方が短くなる。更にUnix系OSではshebang(#!/usr/bin/perl)をスクリプトの1行名に記述し、実行属性を付与($ chmod +x Foo)すれば「$ ./Foo」で起動できる。こうすればもっとタイプ数を減らす事が出来る。
そして第二の理由は開発言語が変わっても利用者が意識する必要が無い事。
仮にスクリプトの開発言語をrubyに変えても、スクリプトの1行目に適切なshebang(#!/usr/bin/ruby)を書いて、実行属性を付与すれば、利用者は同じコマンド入力方法($ ./Foo)で起動する事が出来る。
Windows系OSの場合、Module::Buildを使ってスクリプトをインストールすると、拡張子の.pl有無に関わらず適切なshebangさえ書かれていれば自動的に認識して、スクリプト名と同名の起動用バッチファイル(拡張子が.bat)を生成してくれる。そのため、Windows系OSでもUnix系OSの様なスクリプト名だけで起動する事が出来る様になる。
また、UNIX系OSの場合、shebangさえ適切に書かれていれば、emacs等のエディタでは拡張子が無くても自動的に適切なモードに設定してくれるという事も有り、一度スクリプトのファイルを作成してしまえば、後はそれ程拡張子を気にする必要は無い。
その他、以下のファイルは拡張子が決まっているので、その拡張子を付与する。
apacheの設定に従って、拡張子.cgiを付与する。
拡張子.pmを付与する。
拡張子.tを付与する。
UTF-8とする。また、スクリプトがUTF-8で記述されている事をPerlに教えるため、スクリプトの先頭に「use utf8;」と記述する。
コーディングする環境に合わせて選択する。Windows系OSであればCR+LF。Unix系OSであればLF。
Windows系OSでも実行する時は改行コードがLFでも正しく実行される。

コメントする