文字列の末尾からキャリッジ リターンを削除する方法は理解していますが、私の Perl スクリプトで、文字列の前にキャリッジ リターンがあるという問題に直面しています。
たとえば、私のスクリプトは感嘆符で始まる文字列を検索しますが、私のスクリプトで問題を引き起こす行は次のとおりです。^C!
これを取り除く方法はありますか?
文字列の末尾からキャリッジ リターンを削除する方法は理解していますが、私の Perl スクリプトで、文字列の前にキャリッジ リターンがあるという問題に直面しています。
たとえば、私のスクリプトは感嘆符で始まる文字列を検索しますが、私のスクリプトで問題を引き起こす行は次のとおりです。^C!
これを取り除く方法はありますか?
^C
cat -v
は改行の表現ではなく、ETXの表現です。おそらくそれが混乱の原因です。s/\cC//
削除します。
Perl 内からDevel::Peek ::Dump を使用するか、外部からuniquoteを使用して他の非表示文字を確認してください。
正規表現を使用してその文字をきれいにすることができます:
$line =~ s/^[^!]//;