How can prevent a space from being appended to the tab-completed word using Perl's Term::Readline?

I am using tab completion support of Term::ReadLine::Gnu module. Every time I do a tab, I get a space after the completed word.

For example:

If i have a word "complete" as a possible completion. After prompt I pressed tab and I am getting it like:

"complete "

where these is a space at the end of the completed word. What I want is:


Is there any way to remove that space?


  • Try this (untested) in your completion function:

    my $attribs = $term->Attribs;
    $attribs->{completion_suppress_append} = 1;

    This corresponds to the rl_completion_suppress_append variable in GNU readline.