I am now deeply frustrated. My XML::Parser is working almost perfectly, apart from dumping the occasional Q instead of the correct Hit_accession, and then somtimes 'loosing' the last digit of the Hsp_num... I only notice these when they violate my primary keys, so I don't know how many 'silent' mutations are being introduced. If I put some new lines in the file, after the <!DOCYTPE, and before <BlastOutput, other characters go missing, but the previous ones are returned. There is a specific number of lines which gives no detected mutations, but puting the file back the way it was makes the original problem come right back - in exactly the same predetermined way.... Who should I kill? Please don't sugest using another parser... Which Bioperl should I use? I found the great looking BLAST::Report http://ccgb.umn.edu/~crow/projects/xmlblast/ uses dom, which is a shame. Thanks anyone who can return my missing characters, and my sanity.... Why would XML::Parser develope this problem is such a derministic random way? ?Thanks again, Dan.