#! /usr/bin/perl # Remove header entry of two PO files and compare them my $f1 = shift(@ARGV); my $f2 = shift(@ARGV); open IN1, "<", $f1 or die "Unable to read 1st file: $!\n"; open IN2, "<", $f2 or die "Unable to read 2nd file: $!\n"; my $inMsgstr = 0; my $lineno = 0; while () { $lineno ++; if (m/^msgstr/) { $inMsgstr = 1; } elsif ($inMsgstr == 1 && $_ !~ /^"/) { last; } } $inMsgstr = 0; while () { if (m/^msgstr/) { $inMsgstr = 1; } elsif ($inMsgstr == 1 && $_ !~ /^"/) { last; } } # Now compare lines while () { $lineno ++; my $l2 = or die "Unexpected EOF found when reading $f2\n"; $_ eq $l2 or die "Files $f1 and $f2 differ at line $lineno:\n-$_+$l2\n"; } close IN1; die "EOF expected at 2nd file\n" unless eof(IN2); close IN2; exit 0;