in reply to Too Hash Happy?

Sure you can do it that way, but you really ought to be using $MasterType{'TEXT'} instead of %MasterType->{'TEXT'}.

You appear to be using the same hash entry, containing a record, over and over again. It might not be a bad idea to use an alias to that hash entry, or, since it's a reference, make a copy. A copy of a reference points to the same thing as the original reference, so you still have read/write access to its contents.

So: using an alias, you can do:

for my $r ($masterType{'TEXT'}) { $r->{'function'}->($r->{'command'}, $r->{'linkedHeaders'}); }
or, using a copy:
my $r = $masterType{'TEXT'}; $r->{'function'}->($r->{'command'}, $r->{'linkedHeaders'});
Note that I use the $subref->(PARAMS) syntax to do the sub call, instead of &{$subref}(PARAMS). It does the same thing, but I just like it better. It's less cluttered.

p.s. For cases like this, I see nothing wrong with extremely short names for the variables. $r stands for "current record", for me, anyway.