perl - 如何在perl中将左侧数据拆分为键,右侧数据询问值
问题描述
我的输入文件:
Lin :202020 123 455
Star :21334 1233 555
我试图将 Lin & Star 拆分为键,将其余数字拆分为值。但是,我得到这样的输出:
'202020 123 455 Star' => undef,
我的预期输出:
$VAR1 = {
'Lin' =>'202020 123 455',
'Star'=>'21334 1233 555'
}
我的代码:
use strict;
use warnings;
use Data::Dumper;
.
.
.
.
while($lines)
{
my %hash = split /[:]/,$lines;
print Dumper (%hash);
last;
}
解决方案
您的代码存在问题:
- 我们不知道什么
$lines
是 while ($lines)
没有任何意义- 您正在重新初始化
%hash
循环的每次迭代 last
没有任何意义
解决方案:
use strict;
use warnings;
use Data::Dumper;
my %hash;
while (<DATA>) {
chomp;
my @parts = split(/\s*:\s*/);
$hash{$parts[0]} = $parts[1];
}
print Dumper(\%hash);
__DATA__
Lin :202020 123 455
Star :21334 1233 555
推荐阅读
- pine-script - Pine Script:当一个接一个地满足两个条件时绘制标签
- windows-installer - 在 U 盘上安装 .msi
- sql - 根据选择的值返回
- typescript - 电子/乏味:需要(“事件”)未定义
- javascript - 我能够使用 GET 请求,但不知道如何发布。如果有人可以快速浏览一下,我已经在这里添加了我的 git 存储库?
- javascript - 在矩形内以一定角度绘制对角线
- javascript - 如何规范化 d3 中的数据并在轴上绘制与其他线范围无关的线
- entity-framework-core - 选择 FROM Subquery 而不从另一个上下文对象开始
- javascript - 有条件避免在文本区域内复制文本不起作用
- javascript - 如何在一个端点上同时使用 moxios 和 supertest 的请求,该端点有 2 个 axios 请求,一个需要存根,一个不需要存根?