Perl 如何对矩阵元素或方括号内的值求和[]

Perl 如何对矩阵元素或方括号内的值求和[],perl,Perl,假设我有一个值2 添加到矩阵或范围中 [99至103] [267至271] 做这件事的方法是什么 预期产出:[101至105] [269至273] 我已经取得了范围..这是代码 enter code here $input= $argv[0]; open($file,"$input"); while($line=<$file>) { $ranges.=$line if($line=~m/\[/); print $ranges, if ($li

假设我有一个值2 添加到矩阵或范围中 [99至103] [267至271] 做这件事的方法是什么

预期产出:[101至105] [269至273]

我已经取得了范围..这是代码

enter code here
$input= $argv[0];
open($file,"$input");
while($line=<$file>)
{ 
  $ranges.=$line if($line=~m/\[/);  
  print   $ranges, 
 if 
         ($line=~m/----------------------------------------------------------------------/);
 }
基于输入模式
[number to number]

int($1);
这将把字符串转换为整数

$first_range = $1 + $number;

将您想要的数字添加到您的范围中(我将其硬编码为4,
my$number=4
)。

另请参见您的代码不正确,提供一个小型正常工作示例。代码对我来说工作正常…如何在perl中添加方括号内的数字@严格遵守并使用警告;为什么不使用
my@ranges=($line=~/\[\s(\d*)\sto\s(\d*)\s]/)?例如,当您将数字添加到
$ranges[0]
时,将自动转换为int。我不知道这个技巧,请随意编辑我的答案!谢谢你的知识!
$line =~ /\[\s(\d*)\sto\s(\d*)\s]/
int($1);
$first_range = $1 + $number;