perl用<>获得文本列表
时间: 2024-10-29 19:11:07 浏览: 13
在Perl中,`<>` 是一种称为“slurp”操作符,它用于一次性读取整个输入源的内容,通常是从文件、管道或者命令行输入。如果你想从文本文件中获取一行行的数据作为列表,可以这样做:
假设你有一个文本文件,如 `data.txt`,其内容如下:
```
Line 1
Line 2
Line 3
```
你可以通过以下方式读取并将每一行存储为数组:
```perl
open my $fh, '<', 'data.txt' or die "Cannot open file: $!";
my @lines = <$fh>; # 使用 <> 获取所有行
close $fh;
# 现在@lines数组包含了文件的所有行
foreach my $line (@lines) {
chomp $line; # 去除换行符
print "$line\n";
}
```
这里,`chomp` 函数用于移除每行末尾的换行符。如果不使用 `chomp`,数组中的最后一项会包含文件的最后一行加上换行符。
如果你想要将数据按行存储成散列(哈希),每行对应键值对的一个条目,可以这么做:
```perl
my %hash;
while (<$fh>) {
chomp;
my ($key, $value) = split /:/, $_, 2;
$hash{$key} = $value;
}
```
在这里,我们假设每行是以冒号分隔的键值对。
阅读全文