2010/12/24

Script: List names of all installed packages

#!/usr/bin/perl

use strict;
use warnings;

# open pipe to yum.
open YUM, 'yum list installed |' or die $!;

# skip the first 3 header lines.
for my $skipIdx (1..3) {
    <YUM>;
}

# main filter.
while (<YUM>) {
    # skip dummy lines.
    next if /^ /o;

    # extract package name.
    my ($package_dot_arch) = split;
    my $last_dot_index = rindex($package_dot_arch, '.');
    my $package = substr($package_dot_arch, 0, $last_dot_index);

    # print package name.
    print "$package\n";
}

# close pipe to yum.
close YUM;