文件 IO(读写文件)

chomp 经常在从文件中读取时使用。默认情况下,它会修剪换行符,但是对于其完整功能,请参阅 perldoc 。

注意字符和字节之间的区别:并非所有编码 - 尤其是 UTF-8 - 都使用 1 字节字符。虽然 PerlIO 可以完美地处理这个问题,但有一个潜在的缺陷值得注意:

  • read 使用字符作为其长度和偏移参数
  • seek 和 tell 总是使用字节进行定位

所以不要使用基于这些混合值的算术。而是使用例如 Encode::encode('utf8',$value_by_read) 从 readresult 获取八位字节(字节),然后可以使用 tell 和 seek 计数。