需要 Readline - 你不能创建这种类型的实例 (Readline)

require Readline - You cannot create an instance of this type (Readline)

当我运行这段代码

require Readline;
my $rl = Readline.new;
my $string = $rl.readline( ':');
$string.say;

我收到此错误消息:

You cannot create an instance of this type (Readline)

当我使用 use 加载 Readline 时,它起作用了。为什么 require Readline 不起作用?

由于 require 导致模块在运行时加载,因此 Readline 符号的查找也必须推迟到运行时。这可以使用 ::('Type::Name') 语法来完成,如下所示:

require Readline;
my $rl = ::('Readline').new;
my $string = $rl.readline( ':');
$string.say;