【发布时间】:2019-01-30 19:39:26
【问题描述】:
我有一个文件,其中包含一个由分号分隔的电子邮件地址列表,其配置非常像这样(但更大):
$ cat email_casper.txt
casper1@foo.com; casper2@foo.com; casper3@foo.com; casper.casper4@foo.com;
#these throw outlook error :
#casper101@foo.com ; casper100@foo.com
#cat /tmp/emailist.txt | tr '\n' '; '
#cat /tmp/emallist.txt | perl -nle 'print /\<(.*)\>/' | sort
我想用分号将其拆分 - 所以我将整个文件放入一个数组中,据说内容是用分号拆分的。
#!/usr/bin/perl
use strict;
use warnings;
my $filename = shift @ARGV ;
open(my $fh, '<', $filename) or die "Could not open file $filename $!";
my @values = split(';', $fh);
foreach my $val (@values) {
print "$val\n";
}
exit 0 ;
但是文件给了我一个golb。我只是不知道发生了什么。
$ ./spliton_semi.pl email_casper.txt
GLOB(0x80070b90)
如果我使用 Data::Dumper 我会得到 p>
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper ;
my $filename = shift @ARGV ;
open(my $fh, '<', $filename) or die "Could not open file $filename $!";
my @values = split(';', $fh);
print Dumper \@values ;
这是 Dumper 返回的内容:
$ ./spliton_semi.pl email_casper.txt
$VAR1 = [
'GLOB(0x80070b90)'
];
【问题讨论】: