[Rt-devel] modperl2: Scope problem or perl 5.8.0?
Jesse Vincent
jesse at bestpractical.com
Tue Apr 27 15:18:07 EDT 2004
So, this is one of the issues that was fixed in 5.8.3?
On Tue, Apr 27, 2004 at 08:13:47PM +0100, Paulo Matos wrote:
> On Mon, 26 Apr 2004, Paulo Matos wrote:
>
> > On Mon, 26 Apr 2004, Paulo Matos wrote:
> >
> > > Everything goes fine... if I don't then I get an:
> > >
> > > Unrecognised line: Jesse Vincent <joedoe at domain.com> at /usr/lib/rt/RT/EmailParser.pm line 406
> > >
> > > I've gone deep until Mail::Address code itself and the parameter value
> > > seems to be correct all the way. I test the perl code inside a script and
> > > it runs ok.
> >
> > I found the same problem with an entire different setup at:
> > http://www.nntp.perl.org/group/perl.qpsmtpd/1226
> >
> > I tested it with Mail::Address 1.58 and 1.62 same behavior. The most
> > weired thing it that it works running a script from command-line calling
> > directly and indirectly (through RT::EmailParser::ParseAddressFromHeader),
> > hardcoding the $email variable...
> >
> > It does not work even reimplementing the ParseAddressFromHeader locally at
> > User_Overlay.pm....
> >
> > Any hints? I'm getting mad with this one...
>
> Just for the record, the cause and solution:
>
> Mail::Address->parse($email) caused an the error (croaks):
>
> Unrecognised line: 'foo at mydomain.com'
>
> Well it seems that perl 5.8.0-5.8.X has a problem with utf8/regexps.
>
> The internal representation of perl strings has an UTF-8 flag associated
> that can be turned off via Encode::_utf8_off($string), so a way to solve
> some issues like this are to use this workaround. (see Encode
> documentation for more details).
>
> I saw postings refering that the problem may be cause by using perl with
> thread support, which is not the case I tested it under perl with and
> without thread support with the same results. (The stock perl shipped with
> some distros are threaded enabled: e.g. RedHat 9, RHEL, WBEL...)
>
> A generic workaround to cases like this would be to use:
>
> Encode:_utf8_off($parameter_variable);
>
> before calling the problematic function, which in this case is
> Mail::Address->parse().
>
> This has to be used with caution since it messes with perl internals, so
> sometimes you'll have to switch the flag on after calling the function.
>
>
> If there's something incorrect above please let me know!!!
>
>
> Cheers,
>
> --
> Paulo Matos
> ----------------------------------- ----------------------------------
> |Sys & Net Admin | Serviço de Informática |
> |Faculdade de Ciências e Tecnologia | Tel: +351-21-2948596 |
> |Universidade Nova de Lisboa | Fax: +351-21-2948548 |
> |P-2829-516 Caparica | e-Mail: pjsm at fct.unl.pt |
> ----------------------------------- ----------------------------------
> _______________________________________________
> Rt-devel mailing list
> Rt-devel at lists.bestpractical.com
> http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-devel
--
More information about the Rt-devel
mailing list