[ic] Email.tag and Encode patch

Josh Lavin josh at perusion.com
Wed May 30 23:58:00 UTC 2012

When _not_ using UTF8, I found that the latest email.tag only worked for
me when Encode had already been included, because I had a filter with
"use Encode". When that filter was removed, the email.tag failed with:

Undefined subroutine &Encode::PERLQQ called at (tag 'email') line 11.

I am more than willing for others to provide insight into a better way
to fix, but this patch works for me:


--- a/code/UserTag/email.tag
+++ b/code/UserTag/email.tag
@@ -1,4 +1,4 @@
-# Copyright 2002-2010 Interchange Development Group and others
+# Copyright 2002-2012 Interchange Development Group and others
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -11,17 +11,21 @@ UserTag email addAttr
 UserTag email Interpolate
 UserTag email Routine <<EOR
-my $Have_mime_lite;
+my ($Have_mime_lite, $Have_encode);
        eval {
                require MIME::Lite;
                $Have_mime_lite = 1;
+       eval {
+               require Encode::PERLQQ;
+               $Have_encode = 1;
+       };
 sub utf8_to_other {
        my ($string, $encoding) = @_;
-       return $string unless defined Encode::PERLQQ(); # nop if no Encode
+       return $string unless $Have_encode; # nop if no Encode
                $string = Encode::decode('utf-8', $string);

Josh Lavin
Perusion -- Expert Interchange Consulting    http://www.perusion.com/

More information about the interchange-users mailing list