in reply to curious behavior: why does it do this?

Based on the discussion Re^2: curious behavior: why does it do this?, I reported bug #133695, where I just posted some patches. One of them explains the behavior in Perls up to v5.30 of the range operator when its operands are strings:

The range operator in list context can make use of the magical auto-increment algorithm if both operands are strings, subject to the following rules:

However, in case one of my patches gets accepted, it would change "0".."-1" from returning "0".."99" to returning the empty list, which would be consistent with 0..-1. In any case, the patches include the corresponding documentation, so hopefully perlop will get an update.

Update 2019-08-27: As of Perl 5.32, the behavior has changed to the following (changes underlined):

The range operator in list context can make use of the magical auto-increment algorithm if both operands are strings, subject to the following rules: