Executes another PLP file, that will be parsed (i.e. code must be in C<< <: :> >>). As with Perl's C<do>, the file is evaluated in its own lexical file scope, so lexical variables (C<my> variables) are not shared. PLP's C<< <(filename)> >> includes at compile-time, is faster and is doesn't create a lexical scope (it shares lexical variables).
Executes another PLP file, that will be parsed (i.e. code must be in C<< <: :> >>). As with Perl's C<do>, the file is evaluated in its own lexical file scope, so lexical variables (C<my> variables) are not shared. PLP's C<< <(filename)> >> includes at compile-time, is faster and is doesn't create a lexical scope (it shares lexical variables).
+Include can be used recursively, and there is no depth limit:
+
+ <!-- This is crash.plp -->
+ <:
+ include 'crash.plp';
+ # This example will loop forever,
+ # and dies with an out of memory error.
+ # Do not try this at home.
+ :>
+
=item include FILENAME
An alias for C<Include>.
=item include FILENAME
An alias for C<Include>.
@@ -243,17+243,26 @@ In void context, B<changes> the values of the given variables. In other contexts
<: print Entity($user_input); :>
<: print Entity($user_input); :>
+Be warned that this function also HTMLizes consecutive whitespace and newlines (using and <br> respectively).
+For simple escaping, use L<XML::Quote>. To escape high-bit characters as well, use L<HTML::Entities>.
+
=item EncodeURI LIST
=item EncodeURI LIST
-Replaces characters by their %-encoded values.
+Encodes URI strings according to RFC 3986. All disallowed characters are replaced by their %-encoded values.
In void context, B<changes> the values of the given variables. In other contexts, returns the changed versions.