如何从Vim脚本中的Perl方法返回值?

时间:2011-04-04 21:59:09

标签: perl vim

我正在写一个Vim脚本。我有一个使用嵌入式Perl的函数。如何从Perl代码中返回值?

1 个答案:

答案 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。但在大多数情况下,这并没有真正记录在案。