~# perl -MO=Deparse -le '@x = ("1" .. "00")'
Part of the magical auto-increment algorithm I imagine.
@x = ('1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '
+13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24'
+, '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '
+36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47'
+, '48', '49', '50', '51', '52', '53', '54', '55', '56', '57', '58', '
+59', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '70'
+, '71', '72', '73', '74', '75', '76', '77', '78', '79', '80', '81', '
+82', '83', '84', '85', '86', '87', '88', '89', '90', '91', '92', '93'
+, '94', '95', '96', '97', '98', '99');
~# perl -MO=Deparse -le '@x = ("1" .. "000")'
~# perl -MO=Deparse -le '@x = ("1" .. "0000")'
etc, etc.
Not a bug, but rather a feature?
Works with 5.6.0 ...
updated:
Also interesting
~> perl -MO=Deparse -le "@x=('00'..'99')"
# but:
~> perl -MO=Deparse -le "@x=('00'..'00')"
# and why does this not do what you would expect:
~> perl -MO=Deparse -le "@x=('00'..'090')"
# which does the same thing as
~> perl -MO=Deparse -le "@x=('00'..'009')"
~> perl -MO=Deparse -le "@x=('00'..'099')"
~> perl -MO=Deparse -le "@x=('00'..'090')"
~> perl -MO=Deparse -le "@x=('00'..'059')"
# but not if you start with something other than zero
~> perl -MO=Deparse -le "@x=('00'..'909')"
-xtype