IPC::Run 0000 0123---7---- [#1(20574)]: debugging fd is 3 IPC::Run 0000 0123---7---- [#1(20574)]: ** starting IPC::Run 0000 0123---7---- [#1(20574)]: opening pty '0' IPC::Run 0000 012345-7---- [#1(20574)]: pty() = ( 4, 5 ) IPC::Run 0000 012345-7---- [#1(20574)]: '/bin/./cat' is absolute IPC::Run 0000 012345-7---- [#1(20574)]: kid to read 0 from pty '0' IPC::Run 0000 012345-7---- [#1(20574)]: kid 1 to read 0 from SCALAR via pty '0' IPC::Run 0000 012345-7---- [#1(20574)]: kid 1 to write 1 to SCALAR via pty '0' IPC::Run 0000 012345-7---- [#1(20574)]: kid 1 to write 2 to SCALAR IPC::Run 0000 012345678--- [#1(20574)]: pipe() = ( 6, 8 ) IPC::Run 0000 012345678--- [#1(20574)]: kid 1[]'s 0 is my 4 IPC::Run 0000 012345678--- [#1(20574)]: kid 1[]'s 1 is my 4 IPC::Run 0000 012345678--- [#1(20574)]: kid 1[]'s 2 is my 6 IPC::Run 0000 012345678--- [#1(20574)]: child: `'/bin/./cat'` IPC::Run 0000 012345678--- [#1(20574)]: opening sync pipe IPC::Run 0000 01234567890- [#1(20574)]: pipe() = ( 9, 10 ) IPC::Run 0000 01234567890- [#1(20574)]: fork() = 20575 IPC::Run 0000 0123456789-- [#1(20574)]: close( 10 ) = 0 IPC::Run 0000 01234567890- [#1(20575) cat]: Cleaning up parent's ptty '0' IPC::Run 0000 0123-567890- [#1(20575) cat]: closing stdin, out, err IPC::Run 0000 ---3-567890- [#1(20575) cat]: open fds: 6 8 4 9 10 5 IPC::Run 0000 ---3-5-7890- [#1(20575) cat]: close( 6 ) = 0 IPC::Run 0000 ---3-5-78-0- [#1(20575) cat]: close( 9 ) = 0 IPC::Run 0000 0--3-5-78-0- [#1(20575) cat]: dup2( 5, 0 ) = 0 IPC::Run 0000 01-3-5-78-0- [#1(20575) cat]: dup2( 5, 1 ) = 1 IPC::Run 0000 0123-5-78-0- [#1(20575) cat]: dup2( 1, 2 ) = 2 IPC::Run 0000 0123-5-78-0- [#1(20575) cat]: dup2( 8, 2 ) = 2 IPC::Run 0000 0123---78-0- [#1(20575) cat]: close( 5 ) = 0 IPC::Run 0000 0123---7--0- [#1(20575) cat]: close( 8 ) = 0 IPC::Run 0000 0123---7--0- [#1(20575) cat]: execing /bin/./cat IPC::Run 0000 0123---7--0- [#1(20575) cat]: exec()ing '/bin/./cat' IPC::Run 0000 0123456789-- [#1(20574)]: read( 9 ) = 0 but true chars '' IPC::Run 0000 012345678--- [#1(20574)]: close( 9 ) = 0 IPC::Run 0000 01234-67---- [#1(20574)]: close( 8 ) = 0 Input2pump:1. line IPC::Run 0000 01234-67---- [#1(20574)]: ** pumping IPC::Run 0000 01234-67---- [#1(20574)]: fds for select: ----b-r----- IPC::Run 0000 01234-67---- [#1(20574)]: timeout=forever IPC::Run 0000 01234-67---- [#1(20574)]: selected ----w------- IPC::Run 0000 01234-67---- [#1(20574)]: filtering data to fd 4 (kid's stdin) IPC::Run 0000 01234-67---- [#1(20574)]: writing to fd 4 (kid's stdin) IPC::Run 0000 01234-67---- [#1(20574)]: write( 4, '1. line' ) = 7 IPC::Run 0000 01234-67---- [#1(20574)]: exiting _select(): io occured and break_on_io set out: Input2pump:2. line IPC::Run 0000 01234-67---- [#1(20574)]: ** pumping IPC::Run 0000 01234-67---- [#1(20574)]: fds for select: ----b-r----- IPC::Run 0000 01234-67---- [#1(20574)]: timeout=forever IPC::Run 0000 01234-67---- [#1(20574)]: selected ----b------- IPC::Run 0000 01234-67---- [#1(20574)]: filtering data to fd 4 (kid's stdin) IPC::Run 0000 01234-67---- [#1(20574)]: writing to fd 4 (kid's stdin) IPC::Run 0000 01234-67---- [#1(20574)]: write( 4, '2. line' ) = 7 IPC::Run 0000 01234-67---- [#1(20574)]: filtering data from fd 4 (kid's stdout) IPC::Run 0000 01234-67---- [#1(20574)]: reading from fd 4 (kid's stdout) IPC::Run 0000 01234-67---- [#1(20574)]: read( 4 ) = 7 chars '1. line' IPC::Run 0000 01234-67---- [#1(20574)]: exiting _select(): io occured and break_on_io set out:1. line