#!/afs/athena/contrib/perl/perl

#
# uniq-like script that can ignore fields
#
# syntax:   $0 -i1 -i3 fname
#              ^ignore first and third field
#

%ignore = ();

while ( @ARGV[0] =~ /^-(.)(.*)$/ ) {
    if ($1 eq "i") {
	$ignore{( $2 - 1)} = 1;
    }
    else {
	die "Unknown option: '-$1$2' (syntax!)";
    }
    shift(@ARGV);
}

$_ = <>;
print;
@prev = split(/\s+/);
while (<>) {
    @cur = split(/\s+/);
    $eq = 1;
    for ($i=0; ($i<$#cur) || ($i < $#prev); $i++) {
	$eq = $eq && ($cur[$i] eq $prev[$i]) if !$ignore{$i};
    }
    if (! $eq) {print;}
    @prev = @cur;
}
