open INPUT,"<","input.xml" or die $!; open OUTPUT,">","output.xml.tmp" or die $!; while () { s/<\/markers>/$database_row<\/markers>/; # insert $database row before marker, if found on this line print OUTPUT $_; # print line to output file } close INPUT; close OUTPUT or die $!; rename "output.xml.tmp","input.xml";