![]() |
1
12
更新:有关最终答案,请参阅下面的乔纳森·莱弗勒的答案。 我不会只在两个字段中使用这个(我会使用 pack / unpack 直接),但对于20或50个左右的字段,我喜欢使用 Parse::FixedLength (但我有偏见)。例如(例如)(更新:您也可以使用$/和<>作为读取($fh、$buf、$buf\u-length)的替代项)请参见以下内容:
有一些类似的模块使pack/unpack更加“友好”(请参阅parse::fixedlength的“see also”部分)。 更新:哇,这是一个备选答案,而不是正式答案……好吧,既然是这样,我应该包括乔纳森·莱弗勒的一些更直接的代码,这很可能是你通常应该怎么做(见 包装 / 打开 下面是Docs和Jonathan Leffler的节点):
|
![]() |
2
18
|
![]() |
3
6
假设每条记录有10个字符的记录,每个记录有两个5个字符的字段:
|
![]() |
4
-1
还有另一种方法:
|
![]() |
5
-2
无论记录和字段的长度是否固定,如果字段由统一的分隔符(如空格或逗号)分隔,您都可以比解包更轻松地使用拆分函数。
查找要拆分的文档。参数列表和分隔符模式的格式上存在有用的变体。 |
![]() |
Manny · 如何比较Perl中的字符串? 2 年前 |
![]() |
BioRod · 我不能用Perl打印键和值 2 年前 |
![]() |
user17227456 · Perl CLI代码无法追加字符串行 2 年前 |
![]() |
LearnToBeBetter · 读取文件,搜索字符串,打印字符串 3 年前 |
![]() |
KJ7LNW · 一些波斯语文本的宽字符印刷,但其他文本则没有 3 年前 |
![]() |
con · 如何搜索大型数据结构并返回一系列给出特定值的键/数组? 3 年前 |
![]() |
Pranay Nanda · 使用regex解析许可证文件 7 年前 |