in reply to XML Tags Stripping & Calculating checksum on it

The main time consumption of your processing is in the file IO, ie. (as you indicate) the line-by-line parsing, plus writing & generating CRC on an external file;

Is this necessary? Couldn't you just read the transactions one-by-one from the file, and run the CRC-calculation on each XML-trans in memory ?? -- As in (untested) :
#!/usr/bin/perl -w use strict; use warnings; use String::CRC32; ### for instance my $XmlData = <<XML_DATA; <Transaction> <MessageCode>100</MessageCode> <ToAccountNo>12989898900</ToAccountNo> </Transaction> <Transaction> <MessageCode>200</MessageCode> <ToAccountNo>24536485582</ToAccountNo> </Transaction> XML_DATA open my $XmlFile, '<', \$XmlData or die "Can't open XML file: $!"; $/ = "</Transaction>"; ### one trans at-a-time while ( <$XmlFile> ) { my $crc = crc32($_); ### & do whatever needs TBD with the $crc ... }

Allan Dystrup