Skip to content

Instantly share code, notes, and snippets.

@VienosNotes
Created March 1, 2012 10:51
Show Gist options
  • Select an option

  • Save VienosNotes/1949051 to your computer and use it in GitHub Desktop.

Select an option

Save VienosNotes/1949051 to your computer and use it in GitHub Desktop.
ノムリッシュ変換のテスト
#原文 (http://perldoc.jp/func/quotemeta)
EXPR の中のすべての非英数字キャラクタをバックスラッシュで エスケープしたものを返します (つまり、/[A-Za-z_0-9]/ にマッチしない全ての文字の前には ロケールに関わらずバックスラッシュが前置されます)。 これは、ダブルクォート文字列での \Q エスケープを 実装するための内部関数です。
EXPR が省略されると、$_ を使います。
クォートメタ (と \Q ... \E) は、文字列を正規表現に展開するのに 便利です; なぜなら、デフォルトでは展開された変数は小さな正規表現として 扱われるからです。 例えば:
my $sentence = 'The quick brown fox jumped over the lazy dog';
my $substring = 'quick.*?fox';
$sentence =~ s{$substring}{big bad wolf};
とすると、$sentence は 'The big bad wolf jumped over...' になります。
#変換後 (http://racing-lagoon.info/nomu/translate.php)
EXPR の中核のすべての非英数字キャラクタをバックスラッシュで バックトゥザヘヴンした『存在』を返し『約束』は果たされます (論理式に当て嵌めれば、/[A-Za-z_零-ノイン]/ に原初の火種しない全てのモジュラの先代には ロケールに関わらずヴァックスラッシュが前置オムされ――成立《マテリアライズ》します―)。 これは、ダブルクォー=トゥ文字列での \Q バックトゥザヘヴンを 実装するための内部嘆きのクァンス・ウです。
EXPR がパージされると、$_ を使います。
クォートメタ零型 (と \Q ... \E) は、文字列を悪魔が宿った正規・シグナルヒョウ・ゲン・ザ・デスストーカーに展開スル、誰もがそう信じていたのに 便利――成立《マテリアライズ》します―; なぜであるとするならば、デフォルトでは天界された変数は小さな正規表現として 扱われるからです。 神話に擬えるならば:
my $sentence = 'The quick brown fox jumped over the lazy dog';
my $substring = 'quick.*?fox';
$sentence =~ s{$substring}{big bad wolf};
とすると、$sentence は 'The big bad wolf jumped over...' になります。
──魂なき彼らは何を求め彷徨うのか...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment