Regarding the length $^N > 1 test, I added that because while refining this RE I discovered that it was capable of considering a single-character string to be palindromic (new word?), since "a" in reverse is still "a".
Update: Now that I think about it, the length $^N > 1 test is better written as ..+ earlier in the RE, like this:
qr/(..+)
(??{
( lc $^N eq reverse lc $^N )
? '' : '(?!)'
})
/ix
...thus forcing at least two characters to be tested in the first place, rather than hand-coding a test for two or more characters via 'length'. Duh!