my $str = "foo:bar:"; my( $a, @options ) = split /:/, $str; my( $b, $c, $d ) = split /:/, $str; use Data::Dumper; print Dumper( [ $a, \@options ] ); print Dumper( [ $b, $c, $d ] ); #### $VAR1 = [ 'foo', [ 'bar' ] ]; $VAR1 = [ 'foo', 'bar', '' ]; #### my( $a, @options ) = ( "foo", "bar", "" ); my( $b, $c, $d ) = ( "foo", "bar", "" ); use Data::Dumper; print Dumper( [ $a, \@options ] ); print Dumper( [ $b, $c, $d ] ); #### $VAR1 = [ 'foo', [ 'bar', '' ] ]; $VAR1 = [ 'foo', 'bar', '' ];