"I didn't actually let it do file deletions because I'm loath to do automatic deletes until I've well tested such a script."
One nifty trick I sometimes use in situations like that is to make my script output text like this to STDOUT:
rm ABC/JKL/abc_x.xml rm ABC/JKL/abc_y.xml rm ABC/JKL/abc_z.xml
Then when I've played with it a few times, and I'm confident it's outputting the right commands, pipe the output into sh:
perl myscript.pl | sh
This is also good if you need to do a bunch of complex database changes. Just write SQL to STDOUT, and once you're sure it's OK, pipe it into your favourite command-line SQL tool.