gpt4 book ai didi

loops - 继续而不是 Perl 中的 'or die'

转载 作者:行者123 更新时间:2023-12-03 23:20:35 25 4
gpt4 key购买 nike

我的 Perl 脚本中有一个循环,用于准备和执行 SQL 语句,如下所示:

my $sql_1 = select * from TABLE; 
my $sth_1 = $database->prepare($sql_1) or die "Failed to prepare SQL";
$sth_1->execute() or die "Failed to execute SQL";
my $results = sth_1-> fetchall_arrayref({});

my params_ins;
my params_del;

foreach my $row($results) {
params_ins = $row->{params_ins}
params_del = $row->{params_del}

my $sql_2 =
begin transaction
exec delete_sp(params_ins)
exec insert_sp(params_del)
end transaction

my $sth_2 = $database->prepare($sql_2) or die "Failed to prepare SQL";
$sth_2->execute();
}

据我了解, die 会导致代码的执行停止。是否可以继续下一个循环而不是停止脚本的整个执行?例如,是否可以执行以下操作:
  my $sth_2 = $database->prepare($sql_2) or continue; 
$sth_2->execute();

“或下一个”会起作用吗?

最佳答案

C 的等价物有 continue被称为 next在 Perl 中。

my $sth_2 = $database->prepare($sql_2)
or do {
warn("Failed to prepare SQL");
next;
};

关于loops - 继续而不是 Perl 中的 'or die',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62389073/

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