Perlでヘッダファイルもどき
は誰もがやるのか、はてなの質問でも上がっていた.結局それを参考に書いたのがこれ
#header.ph use constanc FILE_PATH => "/tmp";#とか 1;
としておいて
#/usr/bin/perl BEGIN {require 'header.ph';} $file_path = FILE_PATH; $file_name = test.txt; if(-e "$file_path$file_name"){ print "find out\n"; }else{ print "not find\n"; }
こんな感じか.print 文でconstantにしたものを表示するくらいならできるが、上の例のようにいくつかの変数と絡ませる場合はそうもいかない感じ。まぁsprintfで適当につなげるというのも手ですけど.それかsubstr(( substr($buf,0,0) = "a"とかのように使う。この例では配列の先頭にaという文字を追加。substr($buf,-1) = "hoge"で配列の最後尾にhogeを追加)で配列に放り込んでいくとかかな?
思ったほど使い勝手がよくないというか、たんにperlの文法の規則になれていないだけかも.いまだにシングルクォーテーションとダブルクォーテーションの違い(変数が展開されるかどうかくらいのことは解っているつもり。)とかうえの
if(-e "$file_path$file_name"){
の部分でも
if(-e /tmp/test.txt){
でも良いのだろうけど保守性悪いよな?とか良く間違えてしまう・・・