App-Memcached-CLI
view release on metacpan or search on metacpan
lib/App/Memcached/CLI/Main.pm view on Meta::CPAN
}
my $exit_loop = 0;
local $SIG{INT} = local $SIG{QUIT} = sub {
$exit_loop = 1;
warn "Caught INT or QUIT. Exiting...";
};
$self->{term} = Term::ReadLine->new($PROGRAM);
print "Type '\\h' or 'help' to show help.\n\n";
while (! $exit_loop) {
my ($command, @args) = $self->prompt;
next unless $command;
if ($command eq 'quit') {
$exit_loop = 1;
next;
}
unless ($self->{ds}->ping) {
print "Server has gone away.\n";
$exit_loop = 1;
next;
}
my $ret = $self->$command(@args);
unless ($ret) {
print "Command seems failed. Type \\h $command for help.\n\n";
}
}
debug "Finish interactive mode. $self->{addr}";
}
sub prompt {
my $self = shift;
local $| = 1;
local $\;
my $input = $self->{term}->readline("memcached\@$self->{addr}> ");
chomp($input);
return unless $input;
$self->{term}->addhistory($input) if ($input =~ m/\S/);
( run in 1.265 second using v1.01-cache-2.11-cpan-6aa56a78535 )