… | |
… | |
543 | use Socket; |
543 | use Socket; |
544 | use Fcntl; |
544 | use Fcntl; |
545 | |
545 | |
546 | socketpair my $URXVT, my $slave, Socket::AF_UNIX, Socket::SOCK_STREAM, Socket::PF_UNSPEC; |
546 | socketpair my $URXVT, my $slave, Socket::AF_UNIX, Socket::SOCK_STREAM, Socket::PF_UNSPEC; |
547 | fcntl $slave, Fcntl::F_SETFD, 0; |
547 | fcntl $slave, Fcntl::F_SETFD, 0; |
548 | system "exec @@RXVT_NAME|| -pty-fd " . (fileno $slave) . " &"; |
548 | system "exec @@RXVT_NAME@@ -pty-fd " . (fileno $slave) . " &"; |
549 | close $slave; |
549 | close $slave; |
550 | |
550 | |
551 | syswrite $URXVT, "Type a secret password: "; |
551 | syswrite $URXVT, "Type a secret password: "; |
552 | my $secret = do { local $/ = "\r"; <$URXVT> }; |
552 | my $secret = do { local $/ = "\r"; <$URXVT> }; |
553 | print "Not so secret anymore: $secret\n"; |
553 | print "Not so secret anymore: $secret\n"; |