Seems undocumented behavior. Quoted negative octal number evaluates to decimal:
#!/usr/bin/perl
use warnings;
use strict;
$\ = $/;
my $A = -010;
my $B = "-010";
my $C = "- 010";
print map "[$_]",
$A, $B, $C,
;
print map "[$_]", map $_ + 1,
$A, $B, $C,
;
print map "[$_]", map ++ $_,
$A, $B, $C,
;
[-8][-010][- 010]
Argument "- 010" isn't numeric in addition (+) at negative_octal_1.pl line 16.
[-7][-9][-9]
[-7][-9][-9]