summaryrefslogtreecommitdiff
path: root/pod
diff options
context:
space:
mode:
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>2014-12-17 21:01:29 +0000
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>2014-12-17 21:03:24 +0000
commitf686c54e62c95370bd11d48d8f2f735c2430982a (patch)
tree830f4c373d0874e17b9e48c3903dfb89107c1c17 /pod
parentdc6bb7ba3b9ef9b60fcf85c93613dc6eeb1b4972 (diff)
downloadperl-f686c54e62c95370bd11d48d8f2f735c2430982a.tar.gz
Update Filter::Util::Call to CPAN version 1.51
[DELTA] 1.50 2014-06-04 rurban ---- * Do not re-bless already blessed filter_add arguments into the callers package. Fixes RT #54452 * t/z_pod-coverage.t: omit empty Filter::decrypt (also fixes RT #84405) * Fix Perl Compiler detection in Filter::decrypt 1.51 2014-12-09 rurban ---- * Minor -Wall -Wextra cleanups by jhi and me. Fixes RT #100742 * Updated Copyright years * Document and warn about its limitations
Diffstat (limited to 'pod')
-rw-r--r--pod/perlfilter.pod22
1 files changed, 22 insertions, 0 deletions
diff --git a/pod/perlfilter.pod b/pod/perlfilter.pod
index 27061883c1..21df352c9c 100644
--- a/pod/perlfilter.pod
+++ b/pod/perlfilter.pod
@@ -550,6 +550,28 @@ useful features from the C preprocessor and any other macro processors
you know. The tricky bit will be choosing how much knowledge of Perl's
syntax you want your filter to have.
+=head1 LIMITATIONS
+
+Source filters only work on the string level, thus are highly limited
+in its ability to change source code on the fly. It cannot detect
+comments, quoted strings, heredocs, it is no replacement for a real
+parser.
+The only stable usage for source filters are encryption, compression,
+or the byteloader, to translate binary code back to source code.
+
+See for example the limitations in Switch, which uses source filters,
+and thus is does not work inside a string eval, the presence of
+regexes with embedded newlines that are specified with raw /.../
+delimiters and don't have a modifier //x are indistinguishable from
+code chunks beginning with the division operator /. As a workaround
+you must use m/.../ or m?...? for such patterns. Also, the presence of
+regexes specified with raw ?...? delimiters may cause mysterious
+errors. The workaround is to use m?...? instead. See
+http://search.cpan.org/perldoc?Switch#LIMITATIONS
+
+Currently internal buffer lengths are limited to 32-bit only.
+
+
=head1 THINGS TO LOOK OUT FOR
=over 5