my %main_file=( USER <= \@user_file, TEST <= \@test_file, TRIM <= \@trim_file, ); #### push(@{$main_file{"USER"}[0]}, $string); #### > perl -Mstrict -MData::Dumper -wE ' my %main_file = ( USER => [ [], [], [] ] ); push @{$main_file{"USER"}[0]}, "string ;)"; print Dumper \%main_file; ' $VAR1 = { 'USER' => [ [ 'string ;)' ], [], [] ] }; >