The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

Changes for version 0.19 - 2006-09-27

  • removed dependency Data::Dump::Streamer (t/01-iterator_engine.t)
  • updated Pugs::Runtime::Match pod
  • $/{0} === $/[0]
  • Match.kv, Match.elems, Match.chars, Match.yaml
  • RegexPerl5 accepts parameters i m s x
  • <! ...> takes a metasyntax expression (not a rule pattern)
  • Regex wasn't allowed to match at end of string
  • Regex runtime detects infinite loop in <null>+ and fails
  • more detailed quantifier parsing; added '**{range}' quantifier (needs emitter support)
  • HsBridge - implements a Pugs/Haskell-compatible API
  • features available inside v6.pm only
    • refactored Rule grammar to use shortcuts, such as { return { after => :$$<rule>, } }
    • fixed '${...}', '$[...]', ':$<...>', '$0'
    • fixed coercions in emitter
  • devel (svn.openfoundry.org/pugs/perl5) version only
    • "plain_regex"
    • code cleanup; added bug list
    • added ^^ $$ \n \N - TimToady++
    • /./ matches 2-char newline
    • <'literal'>
    • simple character classes, negated char classes
    • ^ $ <null> \s, \S, etc
    • <after ...>, <!after ...>, <before ...>, <!before ...>
    • non-capturing group, captures, dot
    • "Pugs::Grammar::RulePure" pure-Perl6 version of the Rule grammar; this file currently can't be run due to PCR/v6 incompatible calling conventions

Modules

Compiler for Perl 6 Regex
Compiler for Perl 6 style "Perl5" regex
Compiler for Perl 6 Rules
Compiler for Perl 6 Token
Engine for Perl 6 Rule operator precedence
Match object created by rules

Provides

in lib/Pugs/Emitter/Rule/Perl5.pm
in lib/Pugs/Emitter/Rule/Perl5/Ratchet.pm
in lib/Pugs/Grammar/Base.pm
in lib/Pugs/Runtime/Common.pm
in lib/Pugs/Runtime/Match/HsBridge.pm
in lib/Pugs/Emitter/Rule/Perl5.pm
in lib/Pugs/Runtime/Regex.pm
in lib/Pugs/Runtime/Rule.pm