0

数字と文字 (つまり 24、G、22) の別々の要素に分割しようとしている文字列 (例: '24G22') があります。そのため、以下に示すように正規表現を記述しました。

ただし、何らかの奇妙な理由で、次の形式であると予想していた配列に未定義の要素が大量に含まれています。

@array = ('24','G', '22')

それ以外の

@array = ('24', undef, undef, 'G', '22', undef)

私は出力から得ます

エラーの原因と、エラーを修正して目的の出力を得る方法を誰かが説明してくれませんか?

脚本

#!/usr/bin/perl

use strict;
use warnings;

my $string = '24G22';
my @array = ( $string =~ m/([0-9]+)|([ATGCN]+)/g );
print join("\n", @array);

出力

$ ./test_debug.pl
Use of uninitialized value $array[1] in join or string at ./test_debug.pl line 8.
Use of uninitialized value $array[2] in join or string at ./test_debug.pl line 8.
Use of uninitialized value $array[5] in join or string at ./test_debug.pl line 8.
24


G
22
4

1 に答える 1