正解はperlvar読め。

$<digits>
Contains the subpattern from the corresponding set of capturing
parentheses from the last pattern match, not counting patterns
matched in nested blocks that have been exited already.
(Mnemonic: like \digits.) These variables are all read-only
and dynamically scoped to the current BLOCK.

読み取り専用なので値は(パターンマッチの副作用以外では)勝手に変えられない。
当然undefで未定義値を設定することもできない。

無理にやろうとすると

Can't modify constant item in scalar assignment at ほげほげ

というエラーになるはずなので、エラーメッセージをperldiagで調べてもよい。