在Perl中拆分数组

PYP*_*YPL 1 arrays perl split

我有一个类似的数组

@tmp = ('value1-1', 'value1-2', 'value1-3', '', 'value2-1', 'value2-2', 'value2-3')
Run Code Online (Sandbox Code Playgroud)

在看到值为空后,如何将数组拆分为两部分''

所以输出应该是这样的

@value1=('value1-1','value1-2','value1-3');
@value2=('value2-1','value2-2','value2-3');
Run Code Online (Sandbox Code Playgroud)

我试过这种方式

foreach $item(@tmp){
    unless($add == ''){
         #print $add;
         push (@value,$add);
    }
}
Run Code Online (Sandbox Code Playgroud)

它不会返回任何东西.

And*_*ter 6

在使用数组引用时循环遍历列表,以确定要填充的目标数组.

my @value1;
my @value2;

my @tmp = ('value1-1', 'value1-2', 'value1-3', '', 'value2-1', 'value2-2', 'value2-3');

my $target = \@value1;
for my $val ( @tmp ) {
    if ( $val eq '' ) {
        $target = \@value2;
    }
    else {
        push( @{$target}, $val );
    }
}  
Run Code Online (Sandbox Code Playgroud)