Having had a further look at your OP, you seem to be complaining that the scalar ref value should readonly - I was thinking that you were wanting the anonymous array to readonly?
So is the following a correct summary of your position as to how you would like things to work?
[ 1, 2, 3]; # a readonly temporary reference to a mutable anonymous a
[ 1, 2, $x]; # also a readonly temporary reference to a mutable anonym
bless 'Foo', [1,2,3];# a readonly temporary reference to a mutable ano
# where the array was mutated by blessing it
$a = [1, 2, 3]; # $a is a rw copy of the temp ro array reference