Security Advisories (9)
CVE-2015-2325 (2020-01-14)

The compile_branch function in PCRE before 8.37 allows context-dependent attackers to compile incorrect code, cause a denial of service (out-of-bounds heap read and crash), or possibly have other unspecified impact via a regular expression with a group containing a forward reference repeated a large number of times within a repeated outer group that has a zero minimum quantifier.

CVE-2015-2326 (2020-01-14)

The pcre_compile2 function in PCRE before 8.37 allows context-dependent attackers to compile incorrect code and cause a denial of service (out-of-bounds read) via regular expression with a group containing both a forward referencing subroutine call and a recursive back reference, as demonstrated by "((?+1)(\1))/".

CVE-2015-8382 (2015-12-02)

The match function in pcre_exec.c in PCRE before 8.37 mishandles the /(?:((abcd))|(((?:(?:(?:(?:abc|(?:abcdef))))b)abcdefghi)abc)|((*ACCEPT)))/ pattern and related patterns involving (*ACCEPT), which allows remote attackers to obtain sensitive information from process memory or cause a denial of service (partially initialized memory and application crash) via a crafted regular expression, as demonstrated by a JavaScript RegExp object encountered by Konqueror, aka ZDI-CAN-2547.

CVE-2007-1659 (2007-11-07)

Perl-Compatible Regular Expression (PCRE) library before 7.3 allows context-dependent attackers to cause a denial of service (crash) and possibly execute arbitrary code via regex patterns containing unmatched "\Q\E" sequences with orphan "\E" codes.

CVE-2007-1661 (2007-11-07)

Perl-Compatible Regular Expression (PCRE) library before 7.3 backtracks too far when matching certain input bytes against some regex patterns in non-UTF-8 mode, which allows context-dependent attackers to obtain sensitive information or cause a denial of service (crash), as demonstrated by the "\X?\d" and "\P{L}?\d" patterns.

CVE-2007-1662 (2007-11-07)

Perl-Compatible Regular Expression (PCRE) library before 7.3 reads past the end of the string when searching for unmatched brackets and parentheses, which allows context-dependent attackers to cause a denial of service (crash), possibly involving forward references.

CVE-2007-4766 (2007-11-07)

Multiple integer overflows in Perl-Compatible Regular Expression (PCRE) library before 7.3 allow context-dependent attackers to cause a denial of service (crash) or execute arbitrary code via unspecified escape (backslash) sequences.

CVE-2007-4767 (2007-11-07)

Perl-Compatible Regular Expression (PCRE) library before 7.3 does not properly compute the length of (1) a \p sequence, (2) a \P sequence, or (3) a \P{x} sequence, which allows context-dependent attackers to cause a denial of service (infinite loop or crash) or execute arbitrary code.

CVE-2007-4768 (2007-11-07)

Heap-based buffer overflow in Perl-Compatible Regular Expression (PCRE) library before 7.3 allows context-dependent attackers to execute arbitrary code via a singleton Unicode sequence in a character class in a regex pattern, which is incorrectly optimized.

NAME

Perl6::Pugs - A Perl 6 Implementation

VERSION

This document describes version 6.2.9 of Pugs, released August 3, 2005.

SYNOPSIS

% pugs -e "{ 'Hello, ', @^x }.('World!').say"
Hello, World!

DESCRIPTION

Pugs is an implementation of Perl 6, written in Haskell. It aims to support the full Perl 6 specification, as detailed in the Synopses.

The Pugs project was started on February 1st 2005. It is under active development on IRC (irc.freenode.net, #perl6).

Please read the Pugs Apocrypha in the docs/ directory for more details.

DOCUMENTATION

Pugs Apocrypha

The Pugs Apocrypha in the docs/ directory are a series of documents, written in question/answer format, to explain the design and implementation of Pugs.

Quick reference of Perl 6

Quick reference documents of Perl 6 can be found in the docs/quickref/ directory, similar to perlcheat. The table of contents can be found at docs/quickref/README.

Talks

There're various talks about Perl 6 and/or Pugs at docs/talks/. Please refer see docs/talks/README.

Examples

In the examples/ directory there're examples of working Perl 6 code. In examples/cookbook/ you can find the Perl 6 version of the Perl 5 cookbook. If you want to see how Perl 6 modules look like, you can have a look at the modules in ext/. Another good source of working Perl 6 code is the comprehensive test suite in the t/ directory.

Apocalypses, Exegeses, and Synopses (AES)

Additionally to the official AES, Pugs hosts a number of unofficial AES at docs/AES/. You might also want to checkout the Perl 6 module Perl6::Bible, hosted at FreePAN (http://tpe.freepan.org/repos/iblech/Perl6-Bible/), if you want to read the AES by using the p6bible command line utility.

SEE ALSO

The Pugs homepage is at http://pugscode.org/.

The mailing list for Pugs is perl6-compiler. Subscribe by sending mail to <perl6-compiler-subscribe@perl.org>. It is archived at http://www.nntp.perl.org/group/perl.perl6.compiler and available via NNTP at nntp://nntp.perl.org/perl.perl6.compiler.

You can also read the list via Google Groups at http://groups-beta.google.com/group/perl.perl6.compiler.

Please submit bug reports to <pugsbugs@perl.org>.

COPYRIGHT

Copyright 2005 by Autrijus Tang <autrijus@autrijus.org>.

This code is free software; you can redistribute it and/or modify it under the terms of either:

a) the GNU General Public License, version 2, or
b) the Artistic License, version 2.0beta5.

For the full license text, please see the GPL-2 and Artistic-2 files under the LICENSE directory in the Pugs distribution.