我的输出有很多值.但总结特定的价值观.我从这个脚本的答案
# $ans
3.801
5.381
16.26
3.801
18.3
3.80
5.151
5.636
6.732
.
.
.
my $sum;
if($ans <= 8)
{
$sum += $ans;
print "$ans\n\n\n";
}
print "Total value below (8) : $sum";
Run Code Online (Sandbox Code Playgroud)
如何在if条件之外的8以下求答?我该怎么做?
如何按数组元素的顺序打印数组的值?
@ab= <DATA>;
print "@ab\n";
@a = qw(a b c d);
foreach $s(@ab){
foreach $m (@a){
$z =~m/$m/g;
print "$z";
}
}
__DATA__
d 43
a 5
b 24
d 4
a 12
b 54
c 11
a 1
d 1
a 32
Run Code Online (Sandbox Code Playgroud)
在这个程序中给出输出,但我期望输出是
a 5
a 12
a 1
a 32
b 24
b 54
c 11
d 43
d 4
d 1
Run Code Online (Sandbox Code Playgroud)
首先打印第一个数组元素的匹配值,然后打印第二个,依此类推.我怎么能这样做?
我想拆分字母"b"而不从输出中删除它.如果没有后跟"c",我只想拆分"b".我如何结合这两个条件?这是我到目前为止所尝试的:
$val ="abbcdebffgbhiabbbcde";
@as = split(/(?<=b)/,"$val",) if !~/(bc)/g;
foreach (@as){
print "$_\n";
}
Run Code Online (Sandbox Code Playgroud)
这是我的预期输出:
ab
bcdeb #here 'b' present but not split because succeeding 'c' is present.
ffgb
hiab
b
bcde #here 'b' present but not split because succeeding 'c' is present.
Run Code Online (Sandbox Code Playgroud)
目前,我的代码在所有"b"上分裂.如何更改它以结合这两个条件?