On Aug 22, 2010, at 6:24 AM, Gisle Aas wrote:

> I'm not convinced this is the right thing to do.  How did the $path
> string end up utf8::upgraded() in the first place here?

The URL was extracted from a page encoded in UTF-8. The first thing I do when 
reading a page is to decode it, regardless of the encoding. So it almost always 
ends up with the UTF8 flag on.

> 
> --Gisle
> 
> On Sun, Aug 15, 2010 at 23:14, Father Chrysostomos <spr...@cpan.org> wrote:
>> Perl’s -e ignores the internal UTF8 flag. (See 
>> <http://rt.perl.org/rt3/Ticket/Display.html?id=77242>.)
>> 
>> LWP::Protocol::file triggers this bug in this piece of code:
>> 
>>    # test file exists and is readable
>>    unless (-e $path) {
>>        return new HTTP::Response &HTTP::Status::RC_NOT_FOUND,
>>                                  "File `$path' does not exist";
>>    }
>> 
>> If you add
>>    $path =~ /[^\0-\xff]/ or utf8::downgrade($path); # work around perl bug 
>> #77242
>> before the ‘unless’ statement, it works.
>> 
>> 

Reply via email to