我正在尝试在 .csv 文件上运行一个脚本,它将英尺和英寸的大小转换为以英寸为单位的宽度和以英寸为单位的高度的分隔列。
它在不使用严格模式时工作正常,但在设置时返回警告消息use warnings;
。
我的问题出现在这里:
if ($data[$index_num] =~ /(\d+)'( (\d+)'')? x (\d+)'( (\d+)'')?/) {
my $width = $1*12+$3;
my $height = $4*12+$6;
...
}
由于有时大小可能是 5' x 8',所以特殊变量 $3 和 $6 不存在。
所有可能的尺寸格式如下:
- 5' 1'' x 6' 7'' (所有单位数)
- 10' 1'' x 5' 10'' (单双数字组合)
- 5' x 8'(无英寸)
- 4' 6'' x 7' (无英寸和英寸的组合)
我收到的警告是:
在 script.pl 第 47 行、第 567 行使用未初始化值 $6 以及 (+)。
这发生在情况 3 或 4 中,其中在宽度或高度上缺少英寸。
在尝试使用它们之前,如何检查是否存在 $3 或 $6?