※ ChatGPTを利用し、要約された質問です(原文:Perlの文字列置換について)
Perlの文字列置換について
このQ&Aのポイント
Perlの文字列置換について質問です。ソースコード内の特定の文字列を置換したい場合、どのような方法を使えばよいでしょうか?
以下のPerlのソースコードで文字列置換を行いたいのですが、正しく置換できないエラーが発生しています。解決策を教えてください。
Perlの文字列置換に関する質問です。特定の文字列を一括で置換する方法を教えてください。
質問です。文字列の置換を行いたいのですが、まずはソースから・・・
use File::Basename;
use File::Copy;
use File::Find;
use File::Path;
my @filelist = ();
$inputfile='C:\Users\test.txt';
$outputfile='C:\Users\test_new.txt';
open (IN, $inputfile) or die "$!";
open (OUT, ">$outputfile") or die "$!";
while(<IN>) {
$str = $_;
if ($str =~ /html:text/) {
$str =~ s/html:text/s:textfield/g;
$str =~ s/property/name/;
$str =~ s/styleClass/cssClass/;
elsif($str =~ /html:textarea/) {
$str =~ s/html:textarea/s:textarea/g;
$str =~ s/property/name/;
$str =~ s/style/cssStyle/;
$str =~ s/styleClass/cssClass/;
}
print OUT $str;
}
close (IN);
close(OUT);
sub wanted{
push(@filelist, $File::Find::dir."/$_") unless ($_ =~ /^\.$/);
}
Perlプログラムで下記のソースを一括置換します。
<html:text property="xxx" styleClass="yyy">
<html:textarea property="abc" styleClass="def" style="ghi">
目標は以下のように置換したいです
<s:textfield name="xxx" cssClass="yyy">
<s:textarea name="abc" cssClass="def" cssStyle="ghi">
しかし、上記のプログラムを実行すると
<s:textfield name="xxx" cssClass="yyy">
<s:textfieldarea name="abc" cssClass="def" style="ghi">
となってしまいます。
どこをどう直せばよいのかわからないので誰か教えてください。
お願い致します!!
お礼
できました~。 ありがとうございました!!