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

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

URI::Escape

HTML::Mason::Escapes