gpt4 book ai didi

perl - "? :"if 语句中的变量赋值

转载 作者:行者123 更新时间:2023-12-02 06:47:39 29 4
gpt4 key购买 nike

我想在一个 ? : 声明并避免使用标志来实现这一点,即直接执行。输出是“1”而不是 AGFTVASTGHAVFEW--SAC。帮助表示赞赏。

#!/usr/local/bin/perl
use warnings;
use strict;
use feature qw(say switch);
my $homologue;
my $homologue_gap = "AGFTVASTGHAVFEW--SAC";
my $flag = 0;

$homologue_gap =~ m/-/ ? $homologue = $homologue_gap : $flag = 1;
say $homologue;
__DATA__
**Output**
1
**Output sought**
AGFTVASTGHAVFEW--SAC

背景,我正在比对中提取同源寡肽,并考虑可能存在的任何插入缺失(“-”字符)。

最佳答案

$flag = 1 至少需要一组括号 -- : 的优先级高于 =

$ perl -MO=Deparse,-p -e '$a ? $b=1 : $c=2'
(($a ? ($b = 1) : $c) = 2);

$ perl -MO=Deparse,-p -e '$a ? $b=1 : ($c=2)'
(($a ? ($b = 1) : ($c = 2));

关于perl - "? :"if 语句中的变量赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53559203/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com