my $number = $cgi->param('number'); open(DATABASE, "database.dat") || die "Couldn't open the database for reading: $!"; @database=; close(DATABASE); my @data = split(/\|/, $database[$number]); # Do all my manipulations here $database[$number] = join('|', @data); open(DATABASE, ">database.dat") || die "Couldn't open the database for writing: $!"; foreach (@database) { chomp; print DATABASE "$_\n" if ($_ ne ""); } close(DATABASE);