The following works:
[Mon Sep 17 12:50:41 2007] PerlHandler subroutine `Apache::Registry':
/ipsa5389 at
[Mon Sep 17 12:50:41 2007] PerlHandler subroutine `Apache::Registry':
/Ipsa5389/ at
[Mon Sep 17 12:50:41 2007] PerlHandler subroutine `Apache::Registry':
/Ipsa5389 at
[Mon Sep 17 12:50:41 2007] PerlHandler subroutine `Apache::Registry': <a
href="/Ipsa5389/">Ipsa5389</a>
The following doesn't:
[Mon Sep 17 12:54:05 2007] PerlHandler subroutine `Apache::Registry':
/blanditiis4319- at
[Mon Sep 17 12:54:05 2007] PerlHandler subroutine `Apache::Registry':
/Blanditiis4319-/ at
[Mon Sep 17 12:54:05 2007] PerlHandler subroutine `Apache::Registry':
/Blanditiis4319- at
[Mon Sep 17 12:54:05 2007] PerlHandler subroutine `Apache::Registry': <a
href="/">/</a> / <a href="/Blanditiis4319-/">Blanditiis4319 </a>
Notice the extra prefixing root slash.
The believe the problem is in the split fuction:
if ($self->{path} =~ m/^$r\b/) {
$root = $r;
$root .= '/' if substr($root,-1) ne '/';
last;
}
Notice:
[/Blanditiis4319-/] =~ [/Blanditiis4319-]
I believe it is that the - already ends the word, so there is no
boundary to match (the word has already ended).
The fix is probably =~ m/^$r(?:\/|$)/
Or maybe m/^$r(?:\/|\b)/