人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

perlで文字列の置き換え

上部・下部メニュー部分をテンプレートを呼び出し、表示させるようにしています。
sub view{
open(FILE,"../../../html/lib/$ssifile")||&error("No file.html");
@ssifile=<FILE>;
$ssifile="@ssifile";
close(FILE);
($ssifile_head,$ssifile_body1)=split(/<body>/,$ssifile);
($ssifile_body,$ssifile_foot)=split(/<\/body>/,$ssifile_body1);
print "$ssifile_body\n";
}
$ssifileはメニューボタンが格納されています。
また、別のものと共有で利用しているのですが、階層が違うのでうまく表示してくれません。
テンプレートには「../../?」で画像等を表記していますが、ここでは「../../../?」にしないと画像・リンクが動作しません。
「print "$ssifile_body\n";」の上に"$ssifile_bodyの「../../」を「../../../」にすべて置き換え"としたいです。
素人考えで
$ssifile_body = ~s/..\/..\//..\/..\/..\//g;
としてみましたが、正常に表示しませんでした。(なぜか数字の羅列が表示…)
これはどのように修正したらよいでしょうか?

●質問者: 匿名質問者
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● 匿名回答1号

.もエスケープ

$ssifile_body = ~s/\.\.\/\.\.\//..\/..\/..\//g;

一括エスケープしてセパレータも変更

$ssifile_body = ~s#\Q../../#../../../#g;
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ