perlのs構文で置き換えに式を用いたいが使い方が分からない
下記の$aの中のcounterの値を夫々1から3に変更した内容を求めたい。
$a="UPDATE SQL詳細 SET SQL詳細.sqlstr = replace_char([sql]) WHERE (((SQL詳細.type)=1));";
$a="UPDATE SQL詳細 SET SQL詳細.sqlstr = replace_char([sql]) WHERE (((SQL詳細.type)=2));";
$a="UPDATE SQL詳細 SET SQL詳細.sqlstr = replace_char([sql]) WHERE (((SQL詳細.type)=3));";
それを求め様として、下記を実行したが下記の様な結果になる。
$a="UPDATE SQL詳細 SET SQL詳細.sqlstr = replace_char([sql]) WHERE (((SQL詳細.type)=counter));";
for $i(1 .. 3){
$a =~ s/counter/$i/e;
print "$a\n";
}
結果は下記です。
UPDATE SQL詳細 SET SQL詳細.sqlstr = replace_char([sql]) WHERE (((SQL詳細.type)=1));
UPDATE SQL詳細 SET SQL詳細.sqlstr = replace_char([sql]) WHERE (((SQL詳細.type)=1));
UPDATE SQL詳細 SET SQL詳細.sqlstr = replace_char([sql]) WHERE (((SQL詳細.type)=1));
何処が可笑しいのだろうか。修正個所とその時のperlのソースを提示願います。
宜しくお願いします。
No.1ベストアンサー
- 回答日時:
あなたが提示されたコードの場合、
$1が1の場合は、成功しますが、$が2の場合は、成功しません。
$aの"counter"の部分は既に1に置き換えられているため、counterの文字が存在しないからです。
以下のようにしてください
----------------------------------
$base="UPDATE SQL詳細 SET SQL詳細.sqlstr = replace_char([sql]) WHERE (((SQL詳細.type)=counter));";
for $i(1 .. 3){
$a = $base;
$a =~ s/counter/$i/e;
print "$a\n";
}
----------------------------------
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- SQL Server SQL ServerでDBを構築。これは開発? 4 2022/05/28 14:10
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- MySQL #1062 - '0' は索引 'PRIMARY' で重複しています。とでています。 1 2023/01/01 06:13
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- PHP DBのハッシュ化したパスワードをpassword_verifyで戻し照合したのですが上手く行きません 2 2023/02/06 13:24
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
perlをバージョンアップしたら...
-
ファイルアイコンの左下に緑の□...
-
perlプログラミング 空白行削除
-
perlの構文でカンマの意味が分...
-
英数文字列のうちの数値を4桁に...
-
テキストファイルで提出とは?
-
Perlのエラーについてご教授く...
-
AI sisterとは、偽物の人ですか?
-
perlのrequireの動き方について...
-
perlのプログラミング 部分入れ...
-
Strawberry Perl for Windows ...
-
arduino の割り込み処理について
-
アルファベットに付いて質問し...
-
#!/usr/bin/perlで書きだしたCG...
-
perlのflock関数でロックをかけ...
-
bashスクリプト
-
perlでリテラル値はメモリにど...
-
perlで2次元配列をサブルーチ...
-
Perlで時間の計算
-
perlについて
マンスリーランキングこのカテゴリの人気マンスリー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
おすすめ情報