I've always stuck with
File::Find and never really got involved into its fancy variants. I think you can print some opening tags as a
preprocess action and some closing one at
postprocess time. Check the
documentation: there may be alternative ways, but this should be easy enough to be left as an exercise to the reader...