in reply to print to command line

Try somthing like this:
while (<XMLFILE>) { # ... do stuff ... print "\cM"; print $ctr; }
The \cM will print a CR which brings the cursor back to the start of the line, allowing the next print statement to print over it.