Well footnote 7 does say:
Some contexts allow 2 or even 1 digit, but any usage without exactly
three digits, the first being a zero, may give unintended results.
(For example, in a regular expression it may be confused with a
backreference; see "Octal escapes" in perlrebackslash.)
So it would be much more clear with the 3 digit representation. But in this particular context, it works out:
use feature 'say';
use Data::Dump qw(dump);
say dump( pack("c*", 10, 3, 30, 21 ) ); # outputs "\n\3\36\25"
say dump( unpack("c*", "\n\3\36\25") ); # outputs (10, 3, 30, 21)
say dump( unpack("c*", "\n\003\036\025") ); # outputs (10, 3, 30, 21)