#!/usr/bin/perl for my $f (@ARGV) { use RPM::Header (); my $rpm = RPM::Header->new($f) or die "$f: $RPM::err"; while (my ($k, $v) = each %$rpm) { next if $k =~ /CHANGELOGTEXT|SIGGPG|SIGMD5|GIF/; my @v = ref($v) ? @$v : $v; my @lines = map { split /[\r\n]+/ } @v; foreach (@lines) { next if /^\s*#/; next unless /\%[a-zA-Z_][a-zA-Z0-9_]+/; print "$f $k $&\n"; } } }