基礎Perl - 括弧内括弧の実行順序

しばらく前にMediumの方に投稿していた内容だけど、そちらだとちょっとそぐわない&後から参照しづらいのでこちらのブログに移動。

#!/usr/bin/env perl
use strict;
use warnings;

my $str = "123456789";
if ($str =~ /(1(23)4(5)6)78(9)/) {
    print "$1$2$3$4\n"; #=> 1234562359
}

考えてみればたしかにそうだよね、という感じの結果だけど、なんとなく

1469235

みたいになると思い込んでいた、という。
あとから思うと、どうしてそんな風に考えられるのかわからないぐらい突飛なイメージだが・・

いずれにせよ、こんな単純なサンプルでも実際に手元で書いてみるとだいぶ理解が進む。

付録

手元でサラッと試している風景。こんな感じ。

gyazo.com

Quickrun.vim という、以前これの最後の方で紹介したものですね。

Vimいいわー。