perlで異なる名前のファイルを複数保存する方法?
がわからなくて困っています。
やりたいことは、htmlファイルを開いて、文書の一部を置換して、別名で複数のファイルを作成することです。
下記の名前を変更するのところだけ、どうすればよいのかわかりませんでした。
for ( $i = 1; $i <= 10; $i++ ) {
template.htmlをコピーして、edit.htmlを開く。
edit.htmlを開く。
文書内でif条件にマッチするものを置換する
edit.htmlを保存して閉じる。
rename ("edit.html", "edit$i.html"); #ここで$iがそのままで、edit$i.htmlが作成されてしまう。
}
説明不足の部分もあるかと思いますが、よろしくお願いします。
No.4ベストアンサー
- 回答日時:
No3さんの言うとおりですね。
ドットは演算子機能があるので、使えませんね。
すみません修正します。
http://www.kent-web.com/perl/chap2.html
とりあえず、変数展開で変数名部を{}で囲むか、ドット演算子を使うかすればできるはずです。
No.3
- 回答日時:
うん? いくらなんでも . が名前に使えるってことはないはず>#1. 「展開されていない」ことからして, 「実はスクリプト中ではダブルクオートではなくシングルクオートになっている」という可能性が考えられる.
自分だったら「perl 以外」を使うことも選択肢に入れるかな. 置換の仕方によるけど.
No.2
- 回答日時:
renameせずに、openするときに名前を付けておいたのじゃまずいの
my $infile = "template.html";
my $out = "edited";
open IN,"template.html" or &error();
for ( $i = 1; $i <= 10; $i++ ) {
my $outFileName = $out.$i.'.html';
open OUT,">$outFileName";
while($line = <IN>){
#処理
print OUT $input;
}
close OUT;
}
close IN;
No.1
- 回答日時:
>rename ("edit.html", "edit$i.html"); #ここで$iがそのままで、edit$i.htmlが作成されてしまう。
変数展開がされていないようですね(どうも"."は変数として使える文字なようです。使ったことありませんが)。
"edit${i}.html"としてみたらどうでしょうか?
http://www.perlplus.jp/perl/var/index9.html
ちなみに私なら
template.htmlを開く
全部読み込む
閉じる
for ($i = 1; $i <= 10; $i++) {
読み込んだものをコピー
置換なりの編集
保存したい名前でファイルを開く(作成)。(この場合"edit".$1."html"か)
書き込む
閉じる
}
のようにしますね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 【GAS】WEBアプリでハイパーリンクを挿入したい 1 2023/03/12 19:20
- Visual Basic(VBA) セルの値からファイルを複数作りたい2 3 2022/10/07 15:54
- Excel(エクセル) 自動更新前のエクセルファイルは何処に? 1 2023/01/06 00:53
- その他(パソコン・周辺機器) 同じファイル名 上書きしないフリーソフトなどあったら教えて下さい。 仕事で大量の写真などを扱っており 3 2023/05/18 06:43
- グループウェア 一太郎がイントラで開けません。対処方法を知りたいです。 3 2023/04/04 13:30
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- Excel(エクセル) EXCELマクロでandroidタブレットから取りんだJPEGファイルをうまくセルに貼り付けられない 2 2022/07/31 15:03
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- サーバー Laravelをレンタルサーバーにインストールするにはどうすればいいですか? 2 2022/06/29 10:17
- Visual Basic(VBA) VBAでエクセルをtxtに変換するとエクセルでカンマを含む文字数字がtxtでは「""」付にならないよ 1 2022/08/27 12:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
よろぴく、よろしこの出典…
-
javaでhtmlファイルを開く方法
-
フレームの右側を折り返さない...
-
lang 英語と日本語など混ざる時は
-
AtomでPythonのオートコンプリ...
-
htaccess リダイレクト ディレ...
-
チョコラBB
-
OSってなんですか?
-
ユーキャンのCMに出てくる男優さん
-
YUIさんのギターコードなん...
-
お市の方の娘である、お初はど...
-
椎名林檎の茎、迷彩、意識の歌...
-
HTML相対パスの設定方法について
-
インラインフレーム内の特定箇...
-
JSPでincludeファイルの日本語...
-
無料HPで・・・(HOOPS)
-
葉巻の吸い方おしえてください。
-
perlで異なる名前のファイルを...
-
iframeの中のページのリンクを...
-
HTTPポートリストって何?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
セイヨウタンポポとカントウタ...
-
lang 英語と日本語など混ざる時は
-
noindexタグを試作ページの段階...
-
javaでhtmlファイルを開く方法
-
Excel VBA :URLの中で変数を使...
-
ベーシック認証時、キャンセル...
-
インラインフレームの横スクロ...
-
メール本文に変な文字が
-
iframeの中のページのリンクを...
-
複数のファイルをdiffで比較す...
-
フォルダの中の特定のファイル...
-
相対パスでリンクできない
-
VBAからhttpを呼びソースを取得
-
HTML5の宣言で画像に隙間が出来...
-
鉄腕アトム:トビオの母親
-
jQueryにてformの中を書き換え...
-
You Are The Sunshine Of My Li...
-
Apacheのドキュメントルートを...
-
しろつめ草の編み方
-
福井県小浜市付近で、観光スポ...
おすすめ情報