• ベストアンサー

環境ファイル

本やWebで探したのですが、見つからなかったので、質問させてください。 よく使う変数などを別ファイルにまとめて、読み込みたいのですが、それには環境ファイルというのを作るのですよね?そこで、 ・環境ファイルの書き方 ・別ファイルでの環境ファイルの読み込み方 を教えていただきたいです。 もしくは乗っているサイトを教えてください。 言語はカテゴリの通り、Perlです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

絶対パス、相対パスは一言で言うならファイルの配置です。 絶対パスはカレントディレクトリの頭から記述(あるいはURIの記述) 相対パスはディレクトリ構成でみた相対的な位置を表します。 >requireの拙い点 共通定義ファイルにはパスワードなどの重要な情報が記述される可能性がありますので、どこにあるか判らないほうが安全です。 …公開フォルダ外でperlの実行権限ある場所に配置するなり、.htaccessが使用できるなりすれば構わないという人もいるでしょけど… 先程の参考サイトに説明がありますが、requireでもモジュール可能です。動作上は別に問題はありませんのでご安心ください。

please-no8
質問者

お礼

ありがとうございました! わかりました。

すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.3

おっと、申し訳ないrequireで呼び出す場合、本来シングルクォーテーションでくくります。 直、''内は相対パスか絶対パスで記述してください。 require 'const.pl';

please-no8
質問者

補足

ありがとうございます! requireに行きつきましたが、useを使うというのもあるのですね。 "内は相対パスか絶対パスでというのはなんでしょうか? 'で書くのですよね? あとrequireではまずいとかありますか? なんかイメージ的にモジュール化したほうがいいのかなと。 質問ばかりでスミマセン。

すると、全ての回答が全文表示されます。
回答No.2

requireを用いるのと、きちんとモジュール化してuseを利用するという手段があります。 例えば、const.plというファイルに共通定義など記述して require "const.pl"; と言う風に呼び出すなど。 モジュールして、const.pmなどにした場合はきちんとパッケージ化します。 こちらの場合は関数の共通化などが便利にできるという利点がありますが、サーバがモジュール参照元を設定する必要があります。 この方法について参考になるサイトは残念ながら知らないのですが・・・モジュール側での宣言例としては、以下のようになります。 #変数NAMEを名前とする場合。 #const.pm package const; use Exporter; @ISA = (Exporter); @EXPORT = qw(NAME); use constant NAME => "名前"; #---ここまで。 呼び出し側の使用例 use::const; my $name=NAME;

参考URL:
http://www5a.biglobe.ne.jp/~n_rieko/perl/9.htm
すると、全ての回答が全文表示されます。
noname#25358
noname#25358
回答No.1

 別に特殊なことはしません。  自分でテキストファイルを作成し、open(IN,"<..."); でいつもどおりに読み込み、自分で解析を行います。  よく使う変数というのがよく分かりませんが、環境ファイルを読み書きするための特殊な手段というのは存在しません。

すると、全ての回答が全文表示されます。

関連するQ&A