小编Key*_*huy的帖子

在 Perl 中继续而不是“或死”

我的 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(); 
} 
Run Code Online (Sandbox Code Playgroud)

据我了解, die 会导致代码的执行停止。是否可以继续下一个循环而不是停止脚本的整个执行?例如,是否可以执行以下操作:

  my $sth_2 = $database->prepare($sql_2) or continue; …
Run Code Online (Sandbox Code Playgroud)

syntax perl loops continue die

3
推荐指数
1
解决办法
230
查看次数

标签 统计

continue ×1

die ×1

loops ×1

perl ×1

syntax ×1