Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
$、%、#の3文字の文字列を正規表現で削除したいのですが、$が削除できないようで、エラー情報に未定義の変数が表示されます
どうすればこの問題を解決できますか?
ここに私のコードがあります
perl Remove.pl $ABC#60% #!/usr/bin/perl $Input = $ARGV[0]; $Input =~ s/\$|%|#//g; print $Input;
ありがとう
あなたの問題は、Perl コードではなく、シェルにあると思います。スクリプトへの引数を一重引用符で囲みます。
perl remove.pl '$ABC#60%'
シェルは「$ABC」を変数名として解釈できます。この場合、スクリプトは引数を受け取りません。Perl は、未定義の変数が代用されていると文句を言います。
$Input =~ s/[\$%#]//g;
動作するはずです