in reply to Re: curious behavior: why does it do this?
in thread curious behavior: why does it do this?
So is it wrong to leave out those quotes around 08 and 09? I shouldn't feel too horrible, as Scalar::Util's function "looks_like_number" also think 08/09 are numbers
As I explained here, literals in the code (Scalar value constructors) are different from what Perl's string-to-number conversion recognizes - 0+"08" is 8 but 08 is an illegal octal number (there is one exception; a bug that appeared in 5.30 but should be fixed by the next release). looks_like_number accesses the same internal function that Perl uses to tell if a string looks like a number.
for my $i ("00".."010") {... I got an enumeration up through 999.
I explained the rules for the range operator and magic string increment in detail here, the behavior you mention is consistent with those rules because "010" is not in the sequence produced by the magic string increment (only "10" is; compare that to "000".."010").
|
|---|