fix default text for pod links to other modules
[perl/plp/.git] / PLP / Functions.pm
index b4891ee56453ae832b532f92aef31f5969cf6ae9..28815cd2e2ba2559b22a77ee49596e808101ff14 100644 (file)
@@ -4,8 +4,8 @@ use base 'Exporter';
 use Fcntl qw(:flock);
 use strict;
 
-our @EXPORT = qw/Entity DecodeURI EncodeURI include PLP_END
-                 AddCookie ReadFile WriteFile AutoURL Counter Include exit/;
+our @EXPORT = qw/Entity DecodeURI EncodeURI Include include PLP_END
+                 AddCookie ReadFile WriteFile AutoURL Counter exit/;
 
 sub Include ($) {
        no strict;
@@ -37,7 +37,7 @@ sub Entity (@) {
        for (@$ref) {
                eval {
                        s/&/&/g;
-                       s/\"/"/g;
+                       s/"/"/g;
                        s/</&lt;/g;
                        s/>/&gt;/g;
                        s/\n/<br>\n/g;
@@ -52,8 +52,8 @@ sub DecodeURI (@) {
        my $ref = defined wantarray ? [@_] : \@_;
        for (@$ref) {
                eval {
-                       s/\+/%20/g;  # Browsers do y/ /+/ - I don't care about RFC's, but
-                                    # I do care about real-life situations.
+                       tr/+/ /;  # Browsers do tr/ /+/ - I don't care about RFCs, but
+                                 # I do care about real-life situations.
                        s/%([0-9A-Fa-f][0-9A-Fa-f])/chr hex $1/ge;
                };
        }
@@ -144,7 +144,7 @@ sub AutoURL ($) {
                $$ref =~ s/>\cC>/&gt;/g;
                $$ref =~ s/<\cC</&lt;/g;
        };
-       if ($@){ return defined wantarray ? @_ : undef }
+       if ($@){ return defined wantarray ? @_ : undef }  # return original on error
        return defined wantarray ? $$ref : undef;
 }
 
@@ -206,14 +206,15 @@ You should use this function instead of Perl's built-in C<END> blocks, because t
 
 =item Entity LIST
 
-Replaces HTML syntax characters by HTML entities, so they can be displayed literally. You should always use this on user input (or database output), to avoid cross-site-scripting vurnerabilities. This function does not do everything the L<HTML::Entity> does.
+Replaces HTML syntax characters by HTML entities, so they can be displayed literally. You should always use this when displaying user input (or database output), to avoid cross-site-scripting vurnerabilities.
 
 In void context, B<changes> the values of the given variables. In other contexts, returns the changed versions.
 
     <: print Entity($user_input); :>
 
 Be warned that this function also HTMLizes consecutive whitespace and newlines (using &nbsp; and <br> respectively).
-For simple escaping, use L<XML::Quote>. To escape high-bit characters as well, use L<HTML::Entities>.
+For simple escaping, use L<XML::Quote|XML::Quote>.
+To escape high-bit characters as well, use L<HTML::Entities|HTML::Entities>.
 
 =item EncodeURI LIST
 
@@ -227,11 +228,13 @@ Note that the following reserved characters are I<not> percent-encoded, even tho
 
        / ? : @ $
 
-This should be safe for escaping query values (as in the example above), but it may be a better idea to use L<URI::Escape> instead.
+This should be safe for escaping query values (as in the example above),
+but it may be a better idea to use L<URI::Escape|URI::Escape> instead.
 
 =item DecodeURI LIST
 
-Decodes %-encoded strings. Unlike L<URI::Escape>, it also translates + characters to spaces (as browsers use those).
+Decodes %-encoded strings. Unlike L<URI::Escape|URI::Escape>,
+it also translates + characters to spaces (as browsers use those).
 
 In void context, B<changes> the values of the given variables. In other contexts, returns the changed versions.