最近Perlを勉強し始めたのですが、正規表現の扱いに困っています、よろしくお願いします。
rog.txt
<usr1> ~~
(usr2) ~~
usr3 > ~~
<usr1> ~~
usr3 > ~~
というようなテキストの、ユーザー表示部分(ユーザー名の囲い方はcgi側からは指定できない)を、利用者がhtml上のフォームから
「<usr1> 」は「○○」に
「(usr2) 」は「××」に...
というように指定して一気に変換するcgiを作っています。
ユーザー名部分だけを配列に溜めて、フォームを表示して、変換指定を受け取るところまではできたのですが
最後の変換の部分で上手くいかなくて困っています。
@oldRog には上記のテキストを読み込んで1行ごとに代入
@tmpOldName にはフォームから受け取った古い名前を代入
@tmpNewName にはフォームから受け取った新しい名前を代入してあります
$i = 0;
foreach(@oldRog){
$j = 0;
$tmp = $_;
foreach(@tmpOldName){
$tmp =~ s/^$tmpOldName[$j]/$tmpNewName[$j] /;
$j = $j + 1;
}
$rog[$i] = $tmp;
$i = $i + 1;
}
実行してみるとユーザー名を囲う印に"("などが使用されているとその名前が全て変換されません
おそらく正規表現上で意味のある"("と解釈されているのだろうと考え
エスケープさせるために"\"を使おうと思ったのですが、
$tmp =~ s/^\$tmpOldName[$j]/$tmpNewName[$j] /;
としてみてもうまくいきませんでした。
先にテキストファイルのほうで半角(から全角(に変換する等して回避はできたのですが
できれば変換の部分だけで処理したく思っています
よろしくお願いします
*タブが消えてしまっていたので上げ直しました、ここの使い方にまだ慣れておらず申し訳ありません
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript 空白で入力フォームのボタンをクリックしたら、ブラウザの上部からjavascriptで 表示されるアラ 1 2022/05/20 11:16
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/06 13:01
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Perl の外部モジュールの利用方法
-
ファイルアイコンの左下に緑の□...
-
perlのプログラミング 部分入れ...
-
ペプシコーラとコカ・コーラとD...
-
アルファベットに付いて質問し...
-
#!/usr/bin/perlで書きだしたCG...
-
Perlのエラーについてご教授く...
-
perlのflock関数でロックをかけ...
-
AI sisterとは、偽物の人ですか?
-
perlプログラミング 空白行削除
-
perlでリテラル値はメモリにど...
-
perlで2次元配列をサブルーチ...
-
perlのrequireの動き方について...
-
perlの構文でカンマの意味が分...
-
perlについての質問
-
Blenderについて
-
perl このテキストファイルを簡...
-
Perlでファイルの末尾から指定...
-
秀丸での一括変換について
-
英数文字列のうちの数値を4桁に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストファイルで提出とは?
-
openした後、closeしないでプロ...
-
perlをバージョンアップしたら...
-
INDIRECT 横に再度抽出したい
-
Perl の外部モジュールの利用方法
-
Perlで特定文字列から特定文字...
-
Perlのエラーについてご教授く...
-
bashスクリプト
-
Strawberry Perl for Windows ...
-
perlで2次元配列をサブルーチ...
-
TeraPadエディターの操作方法に...
-
アルファベットに付いて質問し...
-
perlのflock関数でロックをかけ...
-
ファイルアイコンの左下に緑の□...
-
perlプログラミング 空白行削除
-
Wallpaper Engineでおすすめの...
-
Perlで時間の計算
-
perlのrequireの動き方について...
-
perlでリテラル値はメモリにど...
-
画像が表示でnull; this.src
おすすめ情報