in reply to writing array element to a file
Welcome to Perl Monks.
The syntax problem with your code is that foreach runs a loop so you need to use it like this:
foreach (@vettore) { print $_ . "\n"; }
But it looks like you may actually want to print the output to your filehandle $fh by replacing your print with print $fh "$_\n"
Perhaps this script will help show some other ideas
# The following two lines check your code and # alert you to many common errors use strict; use warnings; # Lets keep the filespec out the main code # using my when defining a variable limits its scope. my $infile = "rep_set_ass_tax.fna"; my $outfile = "seq_id.txt"; # No point going on if we can not open both files # You were opening the outfile in a loop before, lots of opens # and closes happening that were not needed open my $in, '<', $infile or die "Can't read $infile: $!\n"; open my $out, '>>', $outfile or die "Can't read $outfile: $!\n"; while (my $line=<$in>) { if($line=~/^>/) { # ^ added for only lines starting with +> my @vettore=split(/\s+/, $line); foreach (@vettore) { # can use for(@array) but they are the s +ame print $out "$_ \n"; # Variables can be interpolated in a stri +ng } # end foreach loop } } close $in; close $out;
If you are going to post more often it may be worth having a look at how to format your posts :)
Cheers,
R.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: writing array element to a file
by francesca1987 (Initiate) on Apr 25, 2013 at 11:17 UTC | |
by Random_Walk (Prior) on Apr 25, 2013 at 13:11 UTC | |
by francesca1987 (Initiate) on Apr 25, 2013 at 13:22 UTC | |
by Random_Walk (Prior) on Apr 25, 2013 at 14:31 UTC | |
by francesca1987 (Initiate) on Apr 25, 2013 at 14:38 UTC |