Доступ к STDIN в perl с golang - PullRequest
0 голосов
/ 13 февраля 2020

Я бегу perl из golang и читаю этот пост и получил ответ, где я это сделал:

package main

import (
    "fmt"
    "io"
    "os"
    "os/exec"
)

func main() {
    subProcess := exec.Command("perl", "./test.pl")

    stdin, err := subProcess.StdinPipe()

    var out bytes.Buffer
    subProcess.Stdout = &out
    subProcess.Stderr = os.Stderr

    if err = subProcess.Start(); err != nil {
        fmt.Println("An error occured: ", err)
    }

    io.WriteString(stdin, "4\n")
    subProcess.Wait()
    fmt.Println(out.String())
}

Что мне написать в perl код для доступа к стандартному вводу? Я пробовал это:

# usr/bin/perl

my $val = $ARGV[0];
print $val;

РЕДАКТИРОВАТЬ: я пытался использовать te <>, но он сказал

Завершение по сигналу SIGINT (2)

#! /usr/bin/perl
my $test = <STDIN>;

chomp $test;

print $test;

Но безрезультатно.

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