use strict; use Config; use vars qw(%Config); print "My default pager is $Config{pager}\n"; #### sub colorize { # Autoload here eval {require Term::ANSIColor}; if ($@ =~ /locate Term::ANSIColor/) { print "Cannot locate Term::ANSIColor.\n", "Color support disabled\n"; return; } elsif ($@) { die $@; } my $color = shift; my $escape_code = eval {color($color)}; if ($@) { print "Invalid color '$color'\n"; return color('reset'); } else { return $escape_code; } } #### my ($case, $data) =(split /\s/, $input, 2; $case = lc($case); if (exists $handler{$case}) { $handler{$case}->($data); } else { do_default($input); } #### @cases = [ # etc { case => 'l', desc => 'co_or to change the menu item color', func => sub { print "change menu item color to: "; my $newcolor=<>; chomp $newcolor; $color=colorize($newcolor); }, }, # etc };