Perl 文字列内の引用符やスペースなどの特殊文字をエスケープしたいと考えています。
正規表現を使用したり、追加のモジュールをインストールしたりしたくありません。
を使用quotemeta
すると役立つ場合があります。
my $escaped = quotemeta $string_with_quotes_and_spaces;
英数字またはアンダースコア以外はバックスラッシュでエスケープします。
文字列を受け取っている場合は、引用メタを使用したボロディンのソリューションが機能します。
文字列を宣言する場合は、qq スイッチを使用して独自の文字列区切り記号を宣言できます。たとえば、' または " の代わりに # を使用するには:
my $string = qq#Didn't know I could do this!"how" amazing#;
これにより、通常の文字列区切り文字がエスケープされます。