my $openfile = ''; foreach my $file (@file) { my $filename = $file->{filename}; my $content = $file->{content}; if ($filename ne $openfile) { $openfile = $filename; open(FILE, "> $filename") or die "Can't open $filename $!"; } print FILE $content; } close(FILE) if $openfile;