#!/usr/bin/perl -l $pattern = "Я [сразу|немедленно] [пошёл|поехал|пополз|попёрся] разбираться с [делами|братками]."; print "$_" for(@{mutate($pattern)}); sub mutate { my (@m, $s, $w); while($s = pop@_) { if($s =~ /\[(.*?)\]/) { for$w(split '\|',$1) { $_ = $s; s/\[(.*?)\]/$w/; push @_,$_; } } else { push @m, $s; } } return \@m; }
цветной код
Date: 2007-03-21 12:13 pm (UTC)