如何在Perl的Term :: Shell中完成选项卡的完成?

4 perl tab-completion

我在Perl中使用Term :: Shell包来实现CLI工具.我无法用命令部分完成选项卡.

comp_CMD() - 这是由Term :: Shell提供的API,用于实现选项卡完成.这对我没有帮助.有谁知道如何使这项工作?

示例代码:

#!/usr/bin/env perl
package Sample;
use base qw(Term::Shell);

sub prompt_str { "Sample\>" };

sub comp_show
{
    my $o = shift;
    my $word = shift;
    $o->completions($word, [qw(all work and no play is no fun at)]);
}

sub run_show
{
        print "run show\n";
}

package main;
Sample->new->cmdloop;
Run Code Online (Sandbox Code Playgroud)

这是该程序的一个运行:

Sample>show[TAB] 
Run Code Online (Sandbox Code Playgroud)

上面的命令没有给出预期的输出..它只给了我一个标签.