From: "William G. Davis" <firstname.lastname@example.org>
Subject: URI.pm not standards compliant: croaks when it shouldn't. To: gisle@ActiveState.com Date: Fri, 3 Oct 2003 23:29:57 -0700 (PDT) Reply-To: email@example.com Hi Gisle. I'm currently working on a module called Net::Gopher (http://search.cpan.org/dist/Net-Gopher). At many areas throughout Net::Gopher, URLs are utilized; parsed and manipulated using URI.pm. My problem is that URI.pm croaks with the fatal error "Bad gopher type 'x'" if an item is denoted by an item type character other than the 13 originally defined in RFC 1436, even if it's a type in common usage (like 'h' for HTML, or 'M' for MIME files). While the authors of RFC 1436 did enumerate 13 types, they certainly did not intend for usage of the protocol be limited to those types. See RFC 1436 pp. 10-11. Also, this behavior prohibits usage of the additional item types defined in Gopher+: Upward Compatible Enhancements to the Internet Gopher Protocol. The offending lines are in the _gopher_type() method in gopher.pm: > Carp::croak("Bad gopher type '$new_type'") > unless $new_type =~ /^[0-9+IgT]$/; If you could remove them from the next distribution of URI, I would greatly appreciate it. Thank you.