$ 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