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

NAME

SVG::Rasterize::Regexes - Commonly used regular expressions

VERSION

Version 0.001005

DESCRIPTION

The following regular expressions are used at different locations of the code to validate or extract user input. It is not part of the interface where exactly they are used. They are documented for inspection only. They are compiled into other expressions so changing them will probably not achieve what you might expect. The exception to this rule is the PACKAGE_NAME variable. The other items are more or less a direct translation of parts of the Backus Naur form given by the SVG specification for the transform attribute (http://www.w3.org/TR/SVG11/coords.html#TransformAttribute).

  • PACKAGE_PART

      qr/[a-zA-Z][a-zA-Z0-9\_]*/
  • PACKAGE_NAME

      qr/^$PACKAGE_PART(?:\:\:PACKAGE_PART)*$/

    Package names given to methods in this distribution, namely the engine_class parameters have to match this regular expression. I am not sure which package names exactly are allowed. If you know where in the Perl manpages or the Camel book this is described, please point me to it. If this pattern is too strict for your favourite package name, you can change this variable.

  • INTEGER

      qr/[\+\-]?\d+/;

    Note that this allows leading zeroes like '00030'. This is for compliance with the SVG specification.

  • FRACTION

      qr/[\+\-]?(?:\d*\.\d+|\d+\.)/;

    Floating point number in non-scientific notation. Note that this allows leading zeroes like '000.123'. This is for compliance with the SVG specification.

  • EXPONENT

      qr/[eE][\+\-]?\d+/;
  • FLOAT

      qr/$FRACTION$EXPONENT?|$INTEGER$EXPONENT/;

    Floating point number in decimal or scientific notation.

  • P_NUMBER

      qr/$INTEGER|$FRACTION/;

    Number allowed in CSS compliant style properties: integer or float in decimal notation.

  • A_NUMBER

      qr/$INTEGER|$FLOAT/;

    Number allowed in XML attributes. Integer or float in either decimal or scientific notation.

  • UNIT

      qr/em|ex|px|pt|pc|cm|mm|in|\%/;
  • P_LENGTH

      qr/$P_NUMBER$UNIT?/;
  • A_LENGTH

      qr/$A_NUMBER$UNIT?/;

SEE ALSO

AUTHOR

Lutz Gehlen, <perl at lutzgehlen.de>

LICENSE AND COPYRIGHT

Copyright 2010 Lutz Gehlen.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.