A general rule of programming: if you want to store a number of distinct things, use an aggregate data type. A general rule of Perl programming: if you want to store several things and access them by name, use a hash.
in reply to variable sub function?
Use a hash of subroutine references.
(As side notes, matching equality of a simple integer with a regular expression is, at best over kill. Assigning a single element to a list slice is, until Perl 6, deprecated. Incrementing $count to add elements to an array is usually better spelled push.)
Update: Okay, my analysis ignores the realities of Win32::GUI. Disturbing.