使用perl 脚本将如下文本中所有第一列字母对应的数字分别存入数组 a 1 a 2 b 3 a 5 b 8
时间: 2024-10-11 20:18:05 浏览: 34
Perl脚本可以利用`split`函数以及数组来处理这种任务。假设输入文本存储在一个文件中,你可以通过以下步骤读取并存储数据:
```perl
#!/usr/bin/perl
use strict;
use warnings;
open my $fh, '<', 'input.txt' or die "无法打开文件: $!";
my @data;
while (my $line = <$fh>) {
chomp $line; # 移除行尾的换行符
my ($letter, $number) = split / /, $line;
push @data, { letter => $letter, number => $number };
}
close $fh;
# 将每个字母对应的数字存入数组'a'
my @array_a;
foreach my $item (@data) {
if ($item->{letter} eq 'a') {
push @array_a, $item->{number};
}
}
print "Array 'a': @array_a\n";
```
在这个脚本里,我们首先打开名为`input.txt`的文件,然后逐行读取。每行文本被`split`成两部分(字母和数字),并作为一个哈希元素添加到`@data`数组中。接着筛选出字母为'a'的项,并将其数值存入`@array_a`。
运行此脚本后,它会将第一列是'a'的所有数字打印出来。如果`input.txt`的内容保存在内存里,可以直接替换`open`语句中的文件名。
阅读全文