perl函数说明(getc)
来源:互联网 发布:单片机相关文献 编辑:程序博客网 时间:2024/06/04 23:20
- getc FILEHANDLE
- getc
这个函数从附着到 FILEHANDLE 上的输入文件返回下一个字节。在文件结尾的时候,或者碰到 I/O 错误的时候它返回 undef。如果省略了 FILEHANDLE,那么该函数从 STDIN 中读取。
这个函数有点慢,但是偶尔可以用于从键盘上读取一个字符输入(实际上是字节)——前提是你能让你的键盘输入不经过缓冲。这个函数需要从标准 I/O 库里来的未经缓冲的输入。糟糕的是,标准的 I/O 库还没有标准到能够提供一种可移植的方法,告诉下层操作系统供应无缓冲的键盘输入到标准 I/O 系统。要做着件事情,你必须稍微更聪明一点,并且采取操作系统相关的做法。在 Unix 里,你可以说:
if ($BSD_STYLE) { system "stty cbreak /dev/tty 2>&1" } else { system "stty", "-icanon", "eol", "......"; } $key = getc; if ($BSD_STYLE) { system "stty -cbreak /dev/tty 2>&1"; } else { system "stty", "icanon", "eol", "^@"; # ASCII NUL } print "\n";
上面的代码把在终端上敲入的下一个字符(字节)放到字串 $key 里。如果你的 stty 程序有象 cbreak 这样的选项,那么你就需要 $BSD_STYLE 为真的地方的代码。否则你就需要它为假的地方的代码。判断 stty(1) 的选项就留给读者做练习吧。
POSIX 模块用 POSIX::getattr 函数提供了一个做这件事情的一个更具移植性的版本。又见来自离你最近的 CPAN 站点里的 Term::ReadKey 模块获取更具移植性和更灵活的方法。
0 0
- perl函数说明(getc)
- getc () 函数
- perl 函数说明(chdir)
- perl函数说明(chmod)
- perl函数说明(chmop)
- perl函数说明(chop)
- perl函数说明(chown)
- perl函数说明(chr)
- perl函数说明(chroot)
- perl函数说明(close)
- perl函数说明(closedir)
- perl函数说明(connect)
- perl函数说明(cos)
- perl函数说明(crypt)
- perl函数说明(defined)
- perl函数说明(delete)
- perl函数说明(die)
- perl函数说明(dump)
- 防止SQL注入和XSS跨站攻击代码
- addr2line解析栈信息
- 匿名类new一个接口产生,匿名类的作用
- 外观模式
- linux定时任务cron配置
- perl函数说明(getc)
- ocr技术原理
- Coreseek/sphinx全文检索的了解
- USB枚举过程(Enumeration)
- 调用图片上传http接口,利用httpClient模拟请求
- Convention plugin都有那些有约定
- 高性能的通讯库-zeroMQ的几个高性能特征
- 商业智能的新目标:业务分析
- 初学python之练习将输入的数字进行排序的方法