質問: " 。..、??!!-ー-"; $mes =~ s/[^$kai]//g; 上記のように置換をすると、$kaiに設定されている文字などで改行を行っても無効となり、$kaiではokという感じなんですが、改行が無効となる部分の文字が化けてしまいます。 何か最良な手法がございましたらご教授頂けますと幸いです。 宜しくお願い致します。
回答: すでに \n などの改行制御文字を に変換してあるということでよいのでしょうか? $mes =~ s/[^$kai]//g; この場合は指定した文字以外の文字が消えます。 $mes =~ s/([^$kai])/\1/g; テストをしてないので動かないかもしれません・・・