<?xml aaa=111 bbb=222 ccc=333>
<A>$var</A>
<B>$var</B>
<C>$var</C>
|
|
|
<Z>$var</Z>
<END></END>
上記のようなテキストファイルをperlプログラムで
作成したいときについて。
上記記述をプログラム内であらかじめ雛形として記述しておき
$varの変数の中身をかえることで違うテキストファイルが
出来上がることを達成するにはperlでどのような記述を
すればいいのでしょうか。
自分が調べた範囲では、"ヒアドキュメント"を
使えばいいのかなと考えていますが、もっと良い方法や
文法があれば御教授願います。
宜しくお願い致します。
No.3ベストアンサー
- 回答日時:
おっしゃるとおり、プログラム中こういう箇所がそんなにない場合や、1つのファイルでプログラムを配布したい場合、ヒアドキュメントが簡単で良いと思います。
$var = "test";
print << "__EOM__";
<?xml aaa=111 bbb=222 ccc=333>
<A>$var</A>
<B>$var</B>
<C>$var</C>
|
|
|
<Z>$var</Z>
<END></END>
__EOM__
あるいは、複数のファイルになっても良いなら、テンプレートエンジンを使うという方法もあるかもしれません。構成やデザインを別ファイルで用意して、表示の時に組み合わせると、表示部分の変更のためにわざわざPerlのコードを見たり理解したりする必要がなくなりますが、そういうことをしたい場合はまずテンプレートエンジンを使います。テンプレートエンジンとしては、HTML::Templateというモジュールがよく使われるようですが、インストールされていないと使えないようなので、インストールが面倒くさかったらこういうのもあるようですね。
http://anond.hatelabo.jp/20071030153111
HTML::TemplateというとHTML専用のように見えますが、ぱっと見、何にでも使えるように見えました。
テンプレートエンジンに興味を持ったらModel View Controller (MVC)についてもちょっと調べてみるとよいでしょう。テンプレートエンジンを使っていると、表示するテキストの部分 (例えばHTMLなど) を書くときはそちらに集中できて良いですよ。
No.2
- 回答日時:
このくらいなら s/// でもできるけどふつうはヒアドキュメントだろうなぁ.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- その他(プログラミング・Web制作) Leafletで画像をon、offさせる方法について 2 2022/11/01 15:34
- JavaScript gasについて 1 2022/05/31 21:51
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- JavaScript JAVASCRIPT 2 2022/04/15 15:10
- Perl Perlでファイルの末尾から指定文字列を検索してファイルに吐き出したい 4 2022/04/04 16:15
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript 正規表現について質問です。条件に合う場合はtrueを返したい 3 2022/10/06 23:02
- Perl Perlで特定文字列から特定文字列までを抜き出したい 4 2022/04/02 14:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
requireで同じライブラリを複数...
-
Perlで特定文字列から特定文字...
-
window.open でのファイル指定方法
-
VBAでCSVファイルの特定行を書...
-
ReadLineでの読み出し行を指定する
-
awkスクリプトでダブルクォーテ...
-
VBAで巨大なファイルの途中から...
-
ExcelをCSV書き出す場合のシー...
-
VBAでCSVファイルを途中行まで...
-
htaccessで特定のディレクトリ...
-
fopenでディレクトリ内の全ファ...
-
ファイル出力の改行コードをLFに
-
エクセルVBAで素数だけを出力す...
-
fgets で値が取得できない
-
エクセルVBA コードが同じでも...
-
配列の中に重複文字列があるか...
-
DOSコマンドで、標準出力を出力...
-
MATLABのm-fileについて
-
openした後、closeしないでプロ...
-
Perlで特定行から特定行までを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Perlで特定文字列から特定文字...
-
RSS自動生成で文字化け
-
ユーザー登録型のサイトを作成...
-
perlでご助言いただきたく。お...
-
ファイルから読込んだ文字列か...
-
ファイルロックの仕方
-
画像アップ時のローカル側での...
-
Perlで添付ファイルを返信する...
-
perlのgrepで要素を返す値がお...
-
perlのエディタでおすすめを教...
-
入力ファイル 先頭3桁を「抽出...
-
フォームより新しいファイルの作成
-
Blogの本文だけ抜き出す方法
-
perlでの値を別のhtmlページに...
-
HTML表示での実行でファイルが...
-
ファイルの存在確認の方法
-
CGIが動かない
-
requireで同じライブラリを複数...
-
VBAでCSVファイルを途中行まで...
-
VBAで巨大なファイルの途中から...
おすすめ情報