2009/8/19 Qiang (James) <[email protected]> > talk 1++ > > 你知道的那些小主题拿出来细讲一下就可以来个 20 分钟演讲 :) > > 再晒一下..? >
其实几年前,我就想和大家分享我在 Perl 中经常使用的一种设计模式(与 OO 无关哈),即 awk 行状态机模型 + Perl 正则 /\G.../gc 的“黄金组合”。这种极为简单的“山寨版”设计模式其实可以解决日常遇见的大部分比较复杂的文本解析任务,而不必像 Parse::RecDescent 或者 Parse::Yapp 那样借助于重量级的文法解析策略。我在过去的许多年里无数次地使用过它,比较有趣的例子有 GNU Makefile 的解析、Filter::QuasiQuote 中的过滤解析器、SSH::Batch 中的机器名集合与区间代数记法的解析,等等。其他有正则支持的语言里,使用此种模式,则在记法上要笨重许多了,这算是 Perl 最让我 happy 的东西之一了,哈哈。当然了,到了 Perl 6 里,这种模式相比 Perl 6 regex 就不那么闪亮了,呵呵。。。 Cheers, -agentzh --~--~---------~--~----~------------~-------~--~----~ 您收到此信息是由于您订阅了 Google 论坛“PerlChina Mongers 讨论组”论坛。 要在此论坛发帖,请发电子邮件到 [email protected] 要退订此论坛,请发邮件至 [email protected] 更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛 -~----------~----~----~----~------~----~------~--~---
