簡體   English   中英

perl:獲取新的文件描述符以將stdin重定向至

[英]perl: get a new file descriptor to redirect stdin to

        my $EXE = FileHandle->new;
        my $fd = 3; # <-------- doest work
        open $EXE, q{-|},
            "$myexe make 2>&1 <%=$fd"
            or die('Cannot open EXE');
        $err = !(close $EXE);

我想將stdin重定向到一些虛擬文件描述符(最好不必打開文件)。

有什么建議我在2>&1如何重定向stdin?

2>&1    # Dups fd 1 onto fd 2

所以

0<&3    # Dups fd 3 onto fd 0
<&3     # "<" affects fd 0 by default

所以

open(my $from_child, '-|', "foo 2>&1 <&$fd")

我不禁要問為什么要這么做。 它是使用IPC :: Run3IPC :: Run可以更好地完成的事情的一部分嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM