フィートとインチのサイズをインチ単位の幅とインチ単位の高さの別々の列に変換するスクリプトを .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'' (1 桁と 2 桁の組み合わせ)
- 5フィート x 8フィート (インチなし)。
- 4' 6'' x 7' (インチなしとインチの組み合わせ)
私が受け取る警告は次のとおりです。
script.pl の 47 行目、567 行目で、初期化されていない値 $6 に加えて (+) が使用されています。
これは、幅または高さのいずれかでインチが欠落しているケース 3 または 4 のいずれかで発生しています。
$3 または $6 を使用する前に、それらが存在するかどうかを確認するにはどうすればよいですか?