Как вернуть значения из метода Perl в скрипте Vim? - PullRequest
7 голосов
/ 05 апреля 2011

Я пишу сценарий Vim. У меня есть функция, которая использует встроенный Perl. Как вернуть значения из моего кода Perl?

1 Ответ

7 голосов
/ 05 апреля 2011

Ключ заключается в том, чтобы избежать любых одинарных кавычек в значении, которое вы пытаетесь вернуть, и затем использовать 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. Но по большей части это на самом деле не задокументировано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...