我有一个文本文件,其中包含如下信息:
name=A
class=B
RollNo=C
Run Code Online (Sandbox Code Playgroud)
我想提取 perl 脚本中的值
key(name) = value(A)
key(class) = value(B)
key(RollNo) = value(C)
Run Code Online (Sandbox Code Playgroud)
键应该作为具有值的变量导出。每当我们打字
print $name
Run Code Online (Sandbox Code Playgroud)
输出应该是'A'
我试过了:
open my $fh, '<', $file_name
or die "Could not open sample.txt: $!";
my @lines = <$fh>;
my %hash;
while (<@lines>) {
chomp;
my ($key, $value) = split /=/;
next unless defined $value;
$hash{$key} = $value;
}
print %hash;
Run Code Online (Sandbox Code Playgroud)
您的代码看起来很不错,到目前为止您所做的大部分工作都有效。
最后,你跑了print %hash,这并没有给你你所期望的。这会将散列中的键和值“展开”到一个列表中并打印该列表。所以你可以打印出所有的键和值。
如果您只需要一个值(例如,与“name”键关联的值),则只需打印该值。
print $hash{name};
Run Code Online (Sandbox Code Playgroud)
这就是你要找的吗?
您可以将数据存储在哈希中并可以从中检索。
use strict;
use warnings;
use Data::Dumper;
my %hash = (
name => 'A',
class => 'B',
RollNo => 'C'
);
print Dumper(\%hash);
print $hash{'name'};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
257 次 |
| 最近记录: |