in reply to Hash values as filehandles

The file handle for print goes in what is known as the "indirect object" slot, and follows the requirements for an object: either a simple var (or bareword) or a BLOCK:
print {$fh{record[0]}} $_;