An adaptation of this script might work in that regard. It was a shell script I hacked together to reformat occasionally as I worked on things. Given one or more files on the command line, it looks to see if there is a .tdy version of the file present (creating an empty one if not), checks if the current version and the .tdy version differ, and if so, performs a tidy (setting the lines 123 characters-personal preference), not replacing the original if a .ERR file was produced. The .tdy file was also left in place for future comparison.
PERLTIDY='/usr/local/bin/perltidy -l 123 '
if [ $# -gt 0 ]
echo Command line: $0 $@
for file in $@
if [ ! -e $file.tdy ]
if [ `$DIFF -q $file $file.tdy | $WC -l` -gt 0 ]
if [ -e $file.ERR ]
echo Error detected-not replacing
$CP -v $file.tdy $file
echo Skipping $file - perltidy on file not necessary
echo Usage: $0 filename
Update (20 Jan 2004): Added absolute paths to utilities used, to prevent issues with pathing.