While I agree that the generation of these URLs should be fixed,
unfortunately, I have no control over the generation of the URI as it comes
from another system altogether. I will suggest a change in the URL format,
but I doubt the service will listen to one user to get it changed
especially since it can be clicked in the mail reader and start up the
browser correctly. Kmail recognizes the URLs and passes the whole thing to
Firefox which also accepts them as is. I suspect IE does as well (although
as a linux user, I haven't tried it, but I'm sure there are plenty of IE
users for whom it works fine).
Thanks for the pointer to the cruft_set and decruft. Subclassing the module
and changing the uric_set does the trick:
package MyURIFind;
use URI::Find;
@MyURIFind::ISA = qw( URI::Find );
sub uric_set {
return '\;\/\?\:\@\&\=\+\$\,\[\]A-Za-z0-9\-_\.\!\~\*\'\(\)%\|';
}
So, now my question is, is there a way to just add characters to the
original uric_set, something like
sub uric_set {
my $uric_set = URI::Find->uric_set;
$uric_set.='\|';
return $uric_set;
}
Obviously, this doesn't work as is and needs somehow to properly reference
the original uric_set from the URI::Find parent class. I'm sure this is a
really stupid question and comes out of my lack of knowledge about Perl,
but my searching hasn't revealed the answer...
Thanks
Rosina