Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
14: close FH;
15: $level++;
16: $text=~s{(##[#s]*([^#s]+)[#s]*##)}{
17: my ($fn, $k)=($1, $key);
18: $fn=~s/?/$key/g;
19: $fn=~s/(([^)]+))/($key eq $1)?'yes':'no'/ge;
20: ($fn, $k)=($1, $2) if ($fn=~m/^([^:]+):(.+)$/);
21: assemble_step($level, $fn, $k);
22: }ge;
23: return $text;
24: }
25:
26: sub assemble {
27: my ($output, $input_root, $init_key)=@_;
28: my $text=assemble_step(0, $input_root, $init_key);
29: open FH, $OUTPUT_PATH.$output or die $output.' : '.$!;
30: print FH $text;
31: close FH;
32: }
33:
34: while (<>) { assemble(split) }
Я буду предполагать, что читатель знаком с Perl,
и ограничусь только краткими пояснениями. Тело программы состоит из одной
строки 34 (если не считать объявления двух глобальных переменных в строках 5 и
6)