Term::ReadLine by itself only provides very basic functionality,
mostly stubs for functions that are actually provided by other
packages, namely Term::ReadLine::Gnu,
Term::ReadLine::Perl and others. But you do not
use these modules directly. You always use Term::ReadLine,
and it detects which ones are installed and picks the best
one (for some definition of "best"). There is a minimum set
of supported methods, and you can check what other features
you have available through the Features method.
As for history, if you have Term::ReadLine::Gnu, it is
enabled automatically and you can access it using
ctrl-p/uparrow and ctrl-n/downarrow. You can also manually add
lines or otherwise manipulate the history. See the
documentation for Term::ReadLine::Gnu for details.
I have never used tab completion, but there are a number of
functions that deal with that in the documentation, so you
should be able to figure it out.