NAME
Tie::UrlEncoder - interpolatably URL-encode strings
Syntactic sugar for URL-Encoding strings. Tie::UrlEncoder imports a tied hash %urlencode
into your package, which delivers a RFC 1738 URL Encoded string of whatever is given to it, for easy embedding of URL-Encoded strings into doublequoted templates.
SYNOPSOZAMPLE
our %urlencode; # make use strict happy
use Tie::UrlEncoder 0.01; # import ties %urlencode
...
print "To add $id to your list, click here:\n";
print "http://listmonger.example.com/listadd?id=$urlencode{$id}\n";
DESCRIPTION
No longer must you clutter up your CGI program with endless repetitions of line noise code that performs this tricky function. Simply use Tie::UrlEncoder and you instantly get a magic %urlencode
hash that gives you an Url Encoded version of the key: $urlencode{$WhatYouWantToEncode}
is ready to interpolate in double-quoted literals without messy intermediate variables.
EXPORT
you get our %urlencode
imported into your package by default.
Defeat this wanton pollution (perhaps if you already have something called %urlencode
) by invoking use
with an empty list and tieing a different hash.
use Tie::UrlEncoder 0.01 ();
tie my %MagicUrlEncodingHash, 'Tie::UrlEncoder';
...
qq( <a href="add_data.pl?data=$MagicUrlEncodingHash{$SpecialData}">
Click here to add your special data <em>$SpecialData</em></a> );
HISTORY
0.01
I was setting this up for a project I am working on and thought, it's useful in general so why not publish it.
FUTURE
A hash-tieing interface for HTML escapes would be a good companion to this module
Localization is not addressed.
AUTHOR
Copyright (C) 2004 david nicol davidnico@cpan.org released under your choice of the GNU Public or Artistic licenses
SEE ALSO
Google for "URL Encoding"
RFC 1738