{
    "mode": "perldoc",
    "parameter": "IO::Tty",
    "section": "",
    "url": "https://www.chedong.com/phpMan.php/perldoc/IO%3A%3ATty/json",
    "generated": "2026-06-11T23:51:49Z",
    "synopsis": "use IO::Tty qw(TIOCNOTTY);\n...\n# use only to import constants, see IO::Pty to create ptys.",
    "sections": {
        "NAME": {
            "content": "IO::Tty - Low-level allocate a pseudo-Tty, import constants.\n",
            "subsections": []
        },
        "VERSION": {
            "content": "1.15\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "use IO::Tty qw(TIOCNOTTY);\n...\n# use only to import constants, see IO::Pty to create ptys.\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "\"IO::Tty\" is used internally by \"IO::Pty\" to create a pseudo-tty. You wouldn't want to use it\ndirectly except to import constants, use \"IO::Pty\". For a list of importable constants, see\nIO::Tty::Constant.\n\nWindows is now supported, but ONLY under the Cygwin environment, see\n<http://sources.redhat.com/cygwin/>.\n\nPlease note that pty creation is very system-dependend. From my experience, any modern POSIX\nsystem should be fine. Find below a list of systems that \"IO::Tty\" should work on. A more\ndetailed table (which is slowly getting out-of-date) is available from the project pages\ndocument manager at SourceForge <http://sourceforge.net/projects/expectperl/>.\n\nIf you have problems on your system and your system is listed in the \"verified\" list, you\nprobably have some non-standard setup, e.g. you compiled your Linux-kernel yourself and disabled\nptys (bummer!). Please ask your friendly sysadmin for help.\n\nIf your system is not listed, unpack the latest version of \"IO::Tty\", do a 'perl Makefile.PL;\nmake; make test; uname -a' and send me (RGiersig@cpan.org) the results and I'll see what I can\ndeduce from that. There are chances that it will work right out-of-the-box...\n\nIf it's working on your system, please send me a short note with details (version number,\ndistribution, etc. 'uname -a' and 'perl -V' is a good start; also, the output from \"perl\nMakefile.PL\" contains a lot of interesting info, so please include that as well) so I can get an\noverview. Thanks!\n\nVERIFIED SYSTEMS, KNOWN ISSUES\nThis is a list of systems that \"IO::Tty\" seems to work on ('make test' passes) with comments\nabout \"features\":\n\n*   AIX 4.3\n\nReturns EIO instead of EOF when the slave is closed. Benign.\n\n*   AIX 5.x\n\n*   FreeBSD 4.4\n\nEOF on the slave tty is not reported back to the master.\n\n*   OpenBSD 2.8\n\nThe ioctl TIOCSCTTY sometimes fails. This is also known in Tcl/Expect, see\nhttp://expect.nist.gov/FAQ.html\n\nEOF on the slave tty is not reported back to the master.\n\n*   Darwin 7.9.0\n\n*   HPUX 10.20 & 11.00\n\nEOF on the slave tty is not reported back to the master.\n\n*   IRIX 6.5\n\n*   Linux 2.2.x & 2.4.x\n\nReturns EIO instead of EOF when the slave is closed. Benign.\n\n*   OSF 4.0\n\nEOF on the slave tty is not reported back to the master.\n\n*   Solaris 8, 2.7, 2.6\n\nHas the \"feature\" of returning EOF just once?!\n\nEOF on the slave tty is not reported back to the master.\n\n*   Windows NT/2k/XP (under Cygwin)\n\nWhen you send (print) a too long line (>160 chars) to a non-raw pty, the call just hangs\nforever and even alarm() cannot get you out. Don't complain to me...\n\nEOF on the slave tty is not reported back to the master.\n\n*   z/OS\n\nThe following systems have not been verified yet for this version, but a previous version worked\non them:\n\n*   SCO Unix\n\n*   NetBSD\n\nprobably the same as the other *BSDs...\n\nIf you have additions to these lists, please mail them to <RGiersig@cpan.org>.\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "IO::Pty, IO::Tty::Constant\n",
            "subsections": []
        },
        "MAILING LISTS": {
            "content": "As this module is mainly used by Expect, support for it is available via the two Expect mailing\nlists, expectperl-announce and expectperl-discuss, at\n\nhttp://lists.sourceforge.net/lists/listinfo/expectperl-announce\n\nand\n\nhttp://lists.sourceforge.net/lists/listinfo/expectperl-discuss\n",
            "subsections": []
        },
        "AUTHORS": {
            "content": "Originally by Graham Barr <gbarr@pobox.com>, based on the Ptty module by Nick Ing-Simmons\n<nik@tiuk.ti.com>.\n\nNow maintained and heavily rewritten by Roland Giersig <RGiersig@cpan.org>.\n\nContains copyrighted stuff from openssh v3.0p1, authored by Tatu Ylonen <ylo@cs.hut.fi>, Markus\nFriedl and Todd C. Miller <Todd.Miller@courtesan.com>. I also got a lot of inspiration from the\npty code in Xemacs.\n",
            "subsections": []
        },
        "COPYRIGHT": {
            "content": "Now all code is free software; you can redistribute it and/or modify it under the same terms as\nPerl itself.\n\nNevertheless the above AUTHORS retain their copyrights to the various parts and want to receive\ncredit if their source code is used. See the source for details.\n",
            "subsections": []
        },
        "DISCLAIMER": {
            "content": "THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\nSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\nNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF\nTHE POSSIBILITY OF SUCH DAMAGE.\n\nIn other words: Use at your own risk. Provided as is. Your mileage may vary. Read the source,\nLuke!\n\nAnd finally, just to be sure:\n\nAny Use of This Product, in Any Manner Whatsoever, Will Increase the Amount of Disorder in the\nUniverse. Although No Liability Is Implied Herein, the Consumer Is Warned That This Process Will\nUltimately Lead to the Heat Death of the Universe.\n",
            "subsections": []
        }
    },
    "summary": "IO::Tty - Low-level allocate a pseudo-Tty, import constants.",
    "flags": [],
    "examples": [],
    "see_also": []
}