I'm not going to write a one liner. I'm going to do it slower and with modules that I like:
use XML::Simple;
opendir DIRECTORYOFNAUGHTYFILES, "/directory/path";
@xfiles = grep !/\.\.?/, readdir DIRECTORYOFNAUGHTYFILES;
@xfiles = grep /\.xml$/, @xfiles;
for $xfile (@xfiles) {
$xfile="/directory/path/$xfile";
$xml = XMLin($xfile);
$xml->{OPERATORID} = substr($xml->{OPERATORID},0,10);
$newxml = XMLout($xml);
open XFILE, ">$xfile";
print XFILE $newxml;
}
The only trouble with this, is that it will probably change the original XML file structure a bit. You'll probably want to write a write_xml sub or something to overcome this. Another problem is that it does every file in the directory... you may not want that to happen. Another problem is that you might just want to do one file at a time. And I'm sure there are other problems. I like to use XML::Simple for just about everything, and when a man first gets a hammer, he thinks everything is a nail.