use PadWalker qw( peek_my ); my @attr = map { my $type = $_; map $self->${ \"stringify_$type" }( $op, $_ ), @{ peek_my( 0 )->{ "\@${type}_attributes" } || [] }; } qw( string number unhandled treeorder execorder );