#!/usr/bin/perl -w
#
# usage: merge_tvprefs files
#
# Outputs a new tvprefs file that combines the two.  Where they
# disagree, later files in the list take precedence.  So you might
# invoke as 'merge_tvprefs tvprefs.old tvprefs.new >tvprefs.merged'.
#
# $Id: merge_tvprefs,v 1.3 2015/07/12 00:46:37 knowledgejunkie Exp $
#
use strict;
my %wanted;
while (<>) {
    s/\#.*//; s/^\s+//; s/\s+$//;
    next if $_ eq '';
    if (/^(never|no|yes|always): (.+)$/) {
	my ($pref, $prog) = ($1, $2);
	$wanted{$prog} = $pref;
    }
    else { die "$ARGV:$.: bad line (remnant is $_)\n" }
}
foreach (sort keys %wanted) {
    my $pref = $wanted{$_};
    print "$pref: $_\n";
}

