我正在寻找的是:
@list = qw(1 2 3 4 5 6);
foreach (@list) {
#perl magic goes here
print "i: $i, j:$j\n";
}
Run Code Online (Sandbox Code Playgroud)
收益:
i:1, j:2
i:3, j:4
i:5, j:6
Run Code Online (Sandbox Code Playgroud)
为了回应下面的一个非常好的建议,我需要指定此脚本将在其他人的构建服务器上运行,并且我不允许使用CPAN中的任何模块.仅限标准Perl.
我用了
Use List::MoreUtils qw(each_array);
my $it = each_array( @input_dump_arr, @created_dump_arr);
while ( my ($first, $second) = $it->()) {
}
Run Code Online (Sandbox Code Playgroud)
这是否适用于默认的perl配置?一个更广泛的问题是有编写"可移植"perl脚本的指导原则吗?我是Perl的新手,只是想弄清楚cpan是否实际上类似于boost库对c ++的影响.
我有一个简单的脚本试图了解Perl中的哈希.
#!/usr/bin/perl
my %set = (
-a => 'aaa',
-b => 'bbb',
-c => 'ccc',
-d => 'ddd',
-e => 'eee',
-f => 'fff',
-g => 'ggg'
);
print "Iterate up to ggg...\n";
while ( my ($key, $val) = each %set ) {
print "$key -> $val \n";
last if ($val eq 'ggg');
}
print "\n";
print "Iterate All...\n";
while ( my ($key, $val) = each %set ) {
print "$key -> $val \n";
}
print "\n";
Run Code Online (Sandbox Code Playgroud)
我对输出感到惊讶: -
Iterate …
Run Code Online (Sandbox Code Playgroud)