gpt4 book ai didi

perl - 如何在 Perl 中读取固定长度的记录?

转载 作者:行者123 更新时间:2023-12-04 00:06:24 25 4
gpt4 key购买 nike

在 Perl 中读取固定长度记录的最佳方法是什么。我知道要读取如下文件:

ABCDE 302
DEFGC 876

我可以
while (<FILE>) {
$key = substr($_, 0, 5);
$value = substr($_, 7, 3);
}

但是没有办法通过读取/解包来做到这一点吗?

最佳答案

my($key, $value) = unpack "A5 A3";    # Original, but slightly dubious

我们都需要查看 unpack 上的选项。手册页(尤其是 pack 手册页)。

由于 A pack 运算符删除了尾随空格,因此您的示例可以编码为:
my($key, $value) = unpack "A6A3";

或者(这是 Perl,所以是 TMTOWTDI):
my($key, $blank, $value) = unpack "A5A1A3";

1 是可选的,但系统性和对称性。这样做的一个优点是您可以验证 $blank eq " " .

关于perl - 如何在 Perl 中读取固定长度的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/407407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com