hdb => sub { my $r = shift; my $i = 1; my $j = 1; until( substr( $$r, $i ) eq substr( $$r, 0, -$i ) ) { if( $j > 0 ) { $j = index( $$r, substr( $$r, 0, $i ), $i ); $i = $j > 0 ? $j : ++$i; } else { $i++; } } return substr( $$r, 0, $i ) },