Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Vim脚本中从Perl方法返回值?_Perl_Vim - Fatal编程技术网

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

如何在Vim脚本中从Perl方法返回值?,perl,vim,Perl,Vim,我正在写一个Vim脚本。我有一个使用嵌入式Perl的函数。如何从Perl代码中返回值?关键是要对试图返回的值中的任何单引号进行转义,然后使用VIM::DoCommand(“返回“$data”) 例如: function PhoneHome() perl << EOF use IO::Socket; my $mothership = IO::Socket->INET->connect() my $data = <

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

关键是要对试图返回的值中的任何单引号进行转义,然后使用
VIM::DoCommand(“返回“$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
函数PhoneHome()
perl INET->connect()
我的$data=;
$data=~s |'|'|'| g;|逃脱'
VIM::docomand(“返回“$data”)
EOF
端功能
另请参见
:help perl
:help perl docomand
。但在大多数情况下,这并没有真正的记录