use Data::Dumper; my %hash = ( 'mus09r' => [ '0,-464,AAACCATCTTGAAAC', '0,-350,GGTTCAGGATGGTTT', '0,-75,AAAACATCGTGACAC' ], ) while (my ($file,$val) = each %hash) { print '>dataset\n"; print '$file\n"; print '>instances\n"; print join("\n",@{$val}),"\n"; } #### $VAR1 = ' >dataset mus09r >instances 0,-464,AAACCATCTTGAAAC 0,-350,GGTTCAGGATGGTTT 0,-75,AAAACATCGTGACAC '