in reply to Anon FH

From perldoc -f print:
Note that if you're storing FILEHANDLES in an array or other expression, you will have to use a block returning its value instead: print { $files[$i] } "stuff\n"; print { $OK ? STDOUT : STDERR } "stuff\n";
So you need to put a block around the expression returning your filehandle:
print { $Unique_DeviceType{$Unique_SN{$sn}->devicetype} } ...
Since you're using the filehandle twice, though, you may as well just create a temp variable (in my opinion):
my $fh = $Unique_DeviceType{$Unique_SN{$sn}->devicetype}; print $fh ...