我有這樣的作者列表:perl的加入字符串錯誤
AU - Garrett-Bakelman, Francine E
AU - Sheridan, Caroline K
AU - Kacmarczyk, Thadeous J
AU - Ishii, Jennifer
AU - Betel, Doron
AU - Alonso, Alicia
AU - Mason, Christopher E
AU - Figueroa, Maria E
AU - Melnick, Ari M
我用perl腳本閱讀:
#!/usr/bin/env perl
use strict; use warnings;
my @authors;
open my $fh, '<', '/home/con/Downloads/pmcid-PMC4354670.ris' or die "Can't read file: $!";
while (<$fh>) {
if ($_ =~ m/^AU\s+- #line starts with 'AU'
\s+ #whitespace
(.*) #author is represented by non-newline characters, saved as $1
/x) {
push @authors, $1;
}
}
close $fh;
printf("there are %u authors\n", scalar @authors);
foreach my $author (@authors) {
print "$author\n";#prints each element correctly
}
print "@authors\n";#but prints the concatenation incorrectly, 'Melnick, Ari Ma Er E Jine E'
print join ' and ', @authors;#prints 'and Melnick, Ari Ma Er E JE'
我不能得到字符串列表被正確連接。 我已經嘗試了'連接'功能,連接字符串,因爲我正在閱讀代碼,它總是一個混雜。
我怎樣才能得到字符串數組串聯正確?
請評論所有'print'並重新運行,因爲它工作正常。 – ssr1012
也許我不清楚,它可以正確打印每個數組元素,但不能正確地連接或連接數組。 – con
你的期望輸出是什麼? – ssr1012