use diagnostics;
use strict;
+my $verbose = 0;
+
+while (@ARGV) {
+ my $arg = shift;
+ if ($arg eq '-v' or $arg eq '--verbose') {
+ $verbose = 1;
+ } else {
+ warn "Unrecognized option: $arg\n";
+ }
+}
+
local (*AVAILABLE, *STATUS);
open AVAILABLE, '</var/lib/dpkg/available' or
die "Can't open available file: $!";
foreach my $package (sort keys %available)
{
- if (defined $status{$package})
+ my ($av, $st) = ($available{$package}, $status{$package});
+ if (defined $st)
{
- print "!!! " if $available{$package} ne $status{$package};
- print "$package $available{$package} $status{$package}\n";
+ if ($av ne $st) {
+ print "!!! $package $av $st\n";
+ } elsif ($verbose) {
+ print "$package $av $st\n";
+ }
}
}