2つのファイルをハッシュに格納して重複するキーを作成してからマージしたいのですが、出力ファイルのようにデリファレンスできていないデータが表示されます。どうすれば、ファイルにデータが正常通り出力されますか?

出力したい内容:キーを1項目目として、重複するキーを削除して2項目、3項目目を足し合わせます。
4項目目は最新の月を表示したいです。5項目目はそのまま出力します。

・入力ファイル01
きゅうり,7800,40,20150629,a
牛乳,10000,24,20150629,b
水,5000,48,2015029,b
にんじん,6500,30,20150629,a
きゅうり,4800,20,20150628,a


・入力ファイル02
きゅうり,7800,40,20150630,a
にんじん,6500,30,20150630,a
牛乳,5000,12,20150630,b
水,2500,24,20150630,b
水,2500,24,20150627,b
にんじん,3500,15,20150630,a


・出力ファイル01
きゅうりARRAY(0x204bbf0)
牛乳ARRAY(0x204bd70)きゅうりARRAY(0x204bbf0)
水ARRAY(0x204bfc8)牛乳ARRAY(0x204bd70)きゅうりARRAY(0x204bbf0)
水ARRAY(0x204bfc8)牛乳ARRAY(0x204bd70)にんじんARRAY(0x55a1a8)きゅうりARRAY(0x204bbf0)
水ARRAY(0x204bfc8)牛乳ARRAY(0x204bd70)にんじんARRAY(0x55a1a8)きゅうりARRAY(0x204be90)


・出力ファイル02
きゅうりARRAY(0x204bed8)
にんじんARRAY(0x561e08)きゅうりARRAY(0x204bed8)
牛乳ARRAY(0x482d28)にんじんARRAY(0x561e08)きゅうりARRAY(0x204bed8)
水ARRAY(0x561dc0)牛乳ARRAY(0x482d28)にんじんARRAY(0x561e08)きゅうりARRAY(0x204bed8)
水ARRAY(0x204bcb0)牛乳ARRAY(0x482d28)にんじんARRAY(0x561e08)きゅうりARRAY(0x204bed8)
水ARRAY(0x204bcb0)牛乳ARRAY(0x482d28)にんじんARRAY(0x561dc0)きゅうりARRAY(0x204bed8)


use strict;
use warnings;    

# 処理開始
my $input_FILE = "sales.txt";
my $input_FILE_2 = "sales_2.txt";

my $output_FILE = $input_FILE.".cyoufuku";
my $output_FILE_2 = $input_FILE_2.".cyoufuku";

cyofuku_CHAECK($input_FILE, $output_FILE);
cyofuku_CHAECK($input_FILE_2, $output_FILE_2);

sub cyofuku_CHAECK
{
my $f_input         =   shift;  #--- 入力ファイル名
my $f_output        =   shift;  #--- 出力ファイル名

# 変数定義
my $rec         = "";
my %data        = ();

#### ファイルオープン ####
open my $fh_in ,    "<:encoding(utf8)"      ,$f_input       or die;
open my $fh_out ,   ">:encoding(utf8)"      ,$f_output      or die;

#### [処理内容記述] ####
while($rec = <$fh_in>){

    my @InRecord        = ();

    chomp $rec;

    @InRecord = split(/,/,$rec,-1);

    my $key = $InRecord[0];

    $data{$key} = [ \@InRecord ];   

    print $fh_out %data,"\n";
}

return 1;

}