An alternative to moritz's solution, you could do this:
@{ $aref } = split(/\D+/,"1,2xxx4:17");
It says "store the result of the split into the array referenced by $aref". If $aref is undefined or an ArrayRef already, this works, even with strict and warnings.
$ perl -w -Mstrict -MData::Dumper -e 'my $x; @{$x} = split /\s/, "the
+one true"; print Dumper($x)'
$VAR1 = [
'the',
'one',
'true'
];
If $aref is a different kind of reference, then you will get a fatal
"Not an ARRAY reference".
$ perl -w -Mstrict -MData::Dumper -e 'my $x = {}; @{$x} = split /\s/,
+"the one true"; print Dumper($x)'
Not an ARRAY reference at -e line 1.
<–radiant.matrix–>
Ramblings and references
“A positive attitude may not solve all your problems, but it will annoy enough people to make it worth the effort.” — Herm Albright
I haven't found a problem yet that can't be solved by a well-placed trebuchet
|