Note that Perl's "chaining" is more like a macro (and personally, I think "syntax" features that basically rearrange code are big red flags):
$x OP1 $y OP2 $z
This is effectively rewritten to something like this (with some other details accounted for but unimportant here):
$x OP1 $y and $y OP2 $z
This only works with certain operators—the ones that make comparisons.
Consider what this macro would do to this if it were to work:
$x =~ m/\./ =~ $z
This transformation gives you:
$x =~ m/\./ and m/\./ =~ $z
That is, the thing in the middle is on the right for the first operation and then the left for the second. $x would to a match operator, then the result of a match operator would bind to $z, which would have to be a pre-compiled pattern, I guess.
ikegami already showed that you aren't actually chaining things. You want to test things in series.
I was generally against this feature, but it was introduced to Perl immediately without going through an experimental cycle. In a related Github issue I raised, people went back and forth in the thinking about it (but note the number of reactions to my comment that this would confuse people is quite high, but effectively ignored). In the Perl 5 Thread, some people thought people would be confused, and some people that would be impossible. The second group won.
I wasn't confused or against this until after I wrote Chain comparisons to avoid excessive typing, and the first comment on Reddit.
But here we are.
My advice is to not use chained comparisons. Even though the docs are correct, the feature is going to confuse regular users. It doesn't act like they want it to. People tend to guess what a programming language will do based on other things they know about it. Instead of just checking every case, they intuit, sometimes incorrectly, how something will or should act.