重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

以下のスクリプトを実行すると"Unrecognized character \033 at ./tools/aaa.pl line 5."というエラーが出てしまいます。やりたいことは 文中の "//! aaa"を全て削除して出力するというものです。何が悪いのでしょうか?

-----------------
#! /usr/bin/perl

while(<>){
if(m#//\s*\!.*#){
$_ =~ s#//\s*\!.*\n##;
print "AAA: $_\n";
}else{
print $_;
}
}
--------------

以上、宜しくお願い致します。

A 回答 (1件)

質問にあるソースをそのままコピー&ペーストしてperl 5.001で実行したところでは、何のエラーも発生しませんでした。



お使いのperlのバージョンが新しい/古いことによる違い、ということはないでしょうか。

この回答への補足

調査有難うございます。当方
This is perl, v5.6.0 built for i386-linux
を用いております。\033はコード表では"!"なのですが、自分のバージョンでも確実に動作するための確実な記述法を知りたく思っています。
以上、引き続き宜しくお願いします。

補足日時:2005/11/01 21:52
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!