G'day snape,
Given this extract from your posted code:
print $col,"\n"; ## string of all the columns I am interested in ... @line = @line[$col]; ## I am getting the error since, # $line is a string and not numeric.. # It works if you do # @line[1,2,5,6,70,71,75,100,112,114]
I suspect you haven't fully understood array slices. They're explained in perldata: Slices.
This piece of code (which borrows from your variable names), should explain what I think you need:
#!/usr/bin/env perl -l use strict; use warnings; my @line = qw{A B C D}; print "All line elements: @line"; my $col = '2,3'; print "Indices I want: $col"; my @indices = split /,/ => $col; my @wanted_elements = @line[@indices]; print "Wanted elements: @wanted_elements";
Output:
All line elements: A B C D Indices I want: 2,3 Wanted elements: C D
-- Ken
In reply to Re: Extracting Columns from line
by kcott
in thread Extracting Columns from line
by snape
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |