in reply to Re^2: create separate output files based on the matched values
in thread create separate output files based on the matched values

Change:

open $files{$name}, '>', "$name.out" if (! defined $files{$name});

to

if (! defined $files{$name}) { open $files{$name}, '>', "$name.out"; syswrite $files{$name}, "This is a header line for file $name.out\ +r\n"; }

Perl is Huffman encoded by design.