数组操作加入而不是拆分

时间:2010-09-07 15:13:56

标签: arrays perl

@browser = ("NS", "IE", "Opera");

my $add_str = "Browser:";

$count = 0; 
foreach  (@browser) { 
 my $br = $_;
 $browser[$count] =  "$add_str:$br";
 $count++ ;

}

有没有其他方法可以做到这一点?最好的办法 ?

2 个答案:

答案 0 :(得分:9)

您可以使用map

@browser = ("NS", "IE", "Opera");

my $add_str = "Browser";
@browser = map { "${add_str}:$_"; } @browser;

答案 1 :(得分:7)

在Perl 5中,for循环别名为每个项目,因此您可以简单地说

#!/usr/bin/perl

use strict;
use warnings;

my @browsers = qw/NS IE Opera/;

my $add_str = "Browser:";

for my $browser (@browsers) {
    $browser = "$add_str:$browser";
}

print join(", ", @browsers), "\n";