- 112 名前:nobodyさん mailto:sage [2014/02/02(日) 07:59:18.35 ID:???]
- う〜ん、/g はループなのに break する方法が用意されていない。
COMMIT があるのにこれがないのはとても不可解だ。 # 先読みの中の (*SKIP) は機能しない。 @test = $_ =~ m/1|2(?=.*(*SKIP))|3/g; # while 文の last を使う。 $_ = "123"; while ( m/1|2|3/gp ) { print "${^MATCH}\n"; last; } # 1 で止まる。 # (?{code}) で last → 効果なし while ( m/1|2(?{ last; })|3/gp ) # while 文に名前を付けて (?{code}) で last → 効果なし TEST : while ( m/1|2(?{ last TEST; })|3/gp ) perl陣営に言えば新しいコマンド作ってくれそうだなぁ。
|

|