gpt4 book ai didi

perl - 在 Perl 中读取数据 block

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

当没有我可以使用的分隔符时,在 Perl 中将一行分割成不同长度的片段的好方法是什么。我的数据是按列长度组织的,所以第一个变量在位置 1-4,第二个变量是位置 5-15,等等。有很多变量,每个变量都有不同的长度。

换句话说,有没有办法根据字符串中的位置而不是匹配的表达式来使用 split 函数?

谢谢。

最佳答案

就在这里。 unpack 函数非常适合处理固定宽度的记录。
例子

my $record = "1234ABCDEFGHIJK";
my @fields = unpack 'A4A11', $record; # 1st field is 4 chars long, 2nd is 11

print "@fields"; # Prints '1234 ABCDEFGHIJK'
第一个参数是模板,它告诉 unpack字段开始和结束的地方。第二个参数告诉它要解压缩哪个字符串。 unpack也可以通过指定空字节来告诉忽略字符串中的字符位置, x .模板 'A4x2A9'可以用来忽略 "AB"在上面的例子中。
perldoc -f pack perldoc perlpacktut 有关深入的详细信息和示例。

关于perl - 在 Perl 中读取数据 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3144445/

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