#!/usr/bin/env perl use strict; sub main { my $keep = {}; loop($keep); } sub loop { my $keep = shift; my $leafSet = {}; foreach (`brew leaves`) { chomp; next if $keep->{$_}; $leafSet->{$_} = 1; } my @leaves = sort(keys $leafSet); return unless scalar @leaves; foreach my $leaf (@leaves) { print "\n\n====> "; system ("brew", "info", $leaf); while (1) { print "Would you like to keep $leaf? [Y/n]: "; my $yn = readline; chomp $yn; if ($yn eq "y" or $yn eq "") { $keep->{$leaf} = 1; last; } elsif ($yn eq "n") { system("brew", "uninstall", $leaf); last; } } } loop($keep); } main();