我正在写一个Vim脚本。我有一个使用嵌入式Perl的函数。如何从Perl代码中返回值?
答案 0 :(得分:7)
关键是要转义您尝试返回的值中的任何单引号,然后使用VIM::DoCommand("return '$data'")
。
例如:
function PhoneHome()
perl << EOF
use IO::Socket;
my $mothership = IO::Socket->INET->connect()
my $data = <$mothership>;
$data =~ s|'|''|g; # escape '
VIM::DoCommand("return '$data'")
EOF
endfunction
另见:help perl
和:help perl-DoCommand
。但在大多数情况下,这并没有真正记录在案。