in reply to subset extraction from master file

You know ... there is more than one way to do it ...including not using perl!

join -t: master other > newmaster

Type "man join" at your unix shell prompt.:-)

Also, I interpretted

i need all of the files from the subset matched up with the same keys in the master file and the rest of the master listing concatenated onto the end of the subset keys listing
to mean that you wanted the lines from the master that weren't in the other to be appended to the end of the master but your example didn't show this at all. If you wanted the unpaired lines to show up in the output (not at the end), you could do this:

join -a1 -t: master other > newmaster

Hope this helps!