while() { if (m//) { $munge .= $_ while ; # slurp } else { $orig .= $_; } } #### my ($orig,$munge) = load_file($file); # munge may be NULL my $data = parse($orig); # process current format data only my $cur_format = serialise($data); # output current format write_file($orig, $current_format); # write to file with separator my $invalid = eq_or_diff($munge,$cur_format); print "$file\n$invalid\n" if $invalid; # diff output, null if OK