use strict; use warnings; use Data::Dumper; local $Data::Dumper::Deparse = 1; use constant INVALID_DATA => ( q{invalid}, 0 ); use constant ADD_DATA => ( q{add}, 1 ); use constant REMOVE_DATA => ( q{remove}, 2 ); use constant MODES => ( \&ADD_DATA, \&REMOVE_DATA ); print Dumper [ MODES ]; print Dumper [ (MODES)[0]() ];