0

私はperlが初めてです。次の置換式があります。

$tmp =~ s:/x/y/z::;

いろいろ検索しましたが、似た表現が見つかりませんでした。どういう意味ですか?

4

2 に答える 2

4

空白以外の任意の文字を区切り文字として使用できます。ここでは、最も一般的な/( s/foo/bar/) の代わりに、区切り文字は:(s:foo:bar:) です。これは、代用する文字にスラッシュ文字が含まれており、スラッシュ区切り文字を使用した場合、それらをエスケープする必要があるため ( s/\/x\/y\/z//) 多くの人々が醜いと考える。

したがって、式は単純に/x/y/zから最初のものを削除してい$tmpます。

于 2015-01-05T07:00:27.883 に答える
3

つまり/x/y/z、何も置き換えないでください。

例: 次のような文字列がある場合/a/b/x/y/z、結果は次のようになります。/a/b

于 2015-01-05T06:56:40.743 に答える