#! /usr/bin/perl my $t = 0; my %h; foreach (@ARGV) { print " " x $t . $_ . "\n"; recurse($_); } exec("emerge -vat --unmerge @ARGV " . join (" ", keys(%h))); sub recurse { my ($p) = @_; $t++; my $res = `equery -q -C depends $p`; foreach (split(/\s/, $res)) { $h{$_}++ and next; print " " x $t . $_ . "\n"; m|/(.*)-[0-9].*|; recurse($1); } $t--; }