moritz is briefer (and direct creation of the ref is likely better) but this is tut form:
#!/usr/bin/perl
use Modern::Perl;
# 935351
# how can I split a string (on bar character) into an array ref for us
+e in SQL::Abstract?
my $string = 'foo|bar|baz|bat';
my @array = split /\|/, $string; # 1
my $arrayref = \@array; # 2
spititout($arrayref); # 3
sub spititout {
my $array_ref_in_sub = shift; # 4
my @workingarray = @$array_ref_in_sub; # 5
for $_(@workingarray) { # 6
say $_;
}
}
Notes:
- break the string on VBARs and stuff the resulting elements to @array
- create a ref to @array
- call the sub
- get the ref to the original $array back from the arrayref passed to the sub
- dereference; put the data referenced (loosely, "pointed to") in the reference into an array with which we can work
- demonstrate that $array_ref_in_sub has what OP wants for SQL::Abstract
|