in reply to Extracting Columns from line

I'm pretty sure this is doing in essence what you want. I would not be surprised if there are some gotchas to look out for using eval like this, and I have left the warning message from the execution in place, but it might give you something to think about.

$ cat monktest.pl #!/usr/bin/perl use strict; use warnings; use Data::Dumper; my @foo = ( qw/this is the sample line/ ); my @bar = ( 1,2,4 ); print Dumper(\@foo); my $barstr = join(',',@bar); print "barstr: $barstr\n"; my @line = @foo[@bar]; print "@line\n";; my @line2 = @foo[ eval $barstr ]; print "@line2\n"; exit; __END__ $ ./monktest.pl Scalar value @foo[ eval $barstr ] better written as $foo[ eval $barstr + ] at ./monktest.pl line 18. $VAR1 = [ 'this', 'is', 'the', 'sample', 'line' ]; barstr: 1,2,4 is the line is the line

Update: sanitized my command line details.

The answer to the question "Can we do this?" is always an emphatic "Yes!" Just give me enough time and money.