sub ULONG () { 9 } sub ENUM () { 23 } my @annotations = ( [ "id", [ ULONG, "value", undef ] ], [ "autoid", [ ENUM, "AutoidKind", [ "SEQUENTIAL", "HASH" ] ], [ 'fixme', "value", "HASH" ] ] ); $annotations[1][2][0] = $annotations[1][1]; use Data::Dump; dd @annotations; __END__ do { my $b = [ "autoid", [23, "AutoidKind", ["SEQUENTIAL", "HASH"]], ['fix', "value", "HASH"], ]; $b->[2][0] = $b->[1]; (["id", [9, "value", undef]], $b); }