在 Perl 中的替换 (s///) 警告中使用未初始化的值

Use of uninitialized value in substitution (s///) warning in Perl

我收到以下 perl 代码的警告:

my $current_email = '';

$current_email = 'saashtechs@gmail.com';

my $to_email =~ s/^To:(.*)/To: $current_email/m;

警告是Use of uninitialized value in substitution (s///)

当您使用绑定运算符 =~ 进行搜索和替换时,搜索的值是运算符的左侧。

在你的情况下,这是 $to_email

但是,在您的代码中,当您使用绑定运算符时,此变量未初始化,这意味着它没有初始值。

因此,错误。

参考文献:

  • perlretut:正则表达式教程
  • perlop: Perl 运算符(绑定运算符)