$FH = FileHandle::Rollback->new("> $filepath") or die "cannot open filehandle: $!"; select($FH); for my $i(0..$#{$temp_array1[0]}) { my $stringline=join(" ",@{$temp_array1[0]->[$i]}); print("$stringline \n"); } $FH->commit; #### opendir(my $FILELIST,"temp")|| die $_; while(my $filename=readdir($FILELIST)) { my @temp_ref=grep{($_->{SecID}.substr($_->{Date},0,4).substr($_->{Date},5,2).substr($_->{Date},8,2).".TXT") eq $filename}@Task_list; my $TaskRef=$temp_ref[0]; if((-e-r $TXTfilepath.$filename)&&defined($TaskRef)) { &writebin($TaskRef) } }