プロが教えるわが家の防犯対策術!

perlで文字列中に@を使いたいときは
¥などでエスケープすればよいと思いますが、
(パラメタで受け取った)すでに@が入っている文字列の
@までの文字列を切り取るにはどうすればよいでしょう。
どうぞ教えてください。よろしくお願いいたします。

たとえば、
$str1="aaa@bbb";
$str2=substr($str1,0,3);
とやってもエラーになってしまいます。

A 回答 (2件)

正規表現で、あらかじめ@を他の文字列に変換して処理し、切り取った後の文字列を@に戻せばどうですか?

    • good
    • 0
この回答へのお礼

早速のおへんじありがとうございました。
正規表現もためしてみましたがうまくいきませんでした。

お礼日時:2002/07/11 11:59

 @に気を使わなければいけないのは、ソースコード内の文字列だけです。


 引数などから受け取った@は正しく処理されます。

 サンプルがうまくいかないのは、ご自分でおっしゃっているとおりの理由によるものです。

 なお、文字列を "" ではなく '' (CTRL+7)で囲むと、変数が展開されなくなるのでエラーが出なくなります。
 
    • good
    • 0
この回答へのお礼

そうだったのですね、ありがとうございました。
正常動作を確認できました。

お礼日時:2002/07/11 13:56

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