小编Bxr*_*MKH的帖子

如何在if条件下求和?

我的输出有很多值.但总结特定的价值观.我从这个脚本的答案

# $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以下求答?我该怎么做?

perl

3
推荐指数
2
解决办法
152
查看次数

如何按数组顺序打印数组元素值?

如何按数组元素的顺序打印数组的值?

@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)

首先打印第一个数组元素的匹配值,然后打印第二个,依此类推.我怎么能这样做?

perl

2
推荐指数
1
解决办法
160
查看次数

如何将两个条件应用于拆分?

我想拆分字母"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"上分裂.如何更改它以结合这两个条件?

perl split

2
推荐指数
1
解决办法
115
查看次数

标签 统计

perl ×3

split ×1