- ベストアンサー
変数の展開の展開
perl初心者です。私のやりたいことができるのかどうかわからないのですが、助けてください。 以下の文(ログファイルを必要事項だけ抜き出すための表現) $words[3]\t$words[0]\t$words[2]\t$words[1]\n を別ファイル(設定ファイルのように)に持って、openして読み込み、 $format = $1; ↑ここに($words[3]\t$words[0]\t$words[2]\t$words[1]\n)が読み込まれている。 その後ログファイルを読み込んで、1行ずつ、$words[]に値入れた後、 printf putfile ("$format\n");#値書きだし で編集ファイルに書き出しているのですが、どうしても、$words[]の値が展開されてくれません。 設定ファイルから読む込まず、直接 $format = "$words[3]\t$words[0]\t$words[2]\t$words[1]\n"; とすれば展開されるのですが・・・・。 別のファイルにこのような変数を含む式を記述してもだめなのでしょうか。 それともなにか、特別な方法があるのでしょうか? 教えてください。 よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#25358
回答No.2
その他の回答 (2)
noname#25358
回答No.3
- a-kuma
- ベストアンサー率50% (1122/2211)
回答No.1
補足
ご回答ありがとうございます。 わかりにくい説明で申し訳ありません。deagleさんの理解して頂いた通りのことがやりたかったのですが、もともとの私の勘違いというか誤解だったのですね。(勉強不足です。) ばかを披露したついでに、ご回答について、もう一度ご質問です。 コンパイルを行う際に展開処理がされるということですので、 ログファイルを読み込み$words[]に値を入れた後に、設定ファイルを読み込んで$formatに$words[3]\t$words[0]\t$words[2]\t$words[1]\nをいれたとしてもそれは展開されないのですか?(^_^; (実際にはそれでもできなかったのですが。) 呆れずにご返答下さい。