in reply to Re^3: Completing a list/ array?
in thread Completing a list/ array?

Hi thank you for your response. I'm very new to this i tried to adapt it to make an input an output file but it is not working this is what i did, i put in # what i think is happeing and what i don't understand

#!/usr/bin/perl use Modern::Perl; no warnings qw /uninitialized /; my @result; # assigns a list? $INPUTFILE = "/Users/ts/numbers.txt"; # opens my file open(INPUTFILE) or die("File error: input file\n"); open (OUTPUTFILE, "Users/ts/full_number.txt; #gives output file while (<INPUTFILE>) { chomp; #removes new line my ($index, $value) = split /\t/; # a local list of varibles,not t +o sure what the stuff after spilt is $result[$index] = $value; #? } $result[3000050] = 0 unless $result[3000050]; while (my ($index, $value) = each @result) { next if $index == 0; say "$index\t", $value+0; print (OUTPUTFILE $index\t, $value+0); } close (INPUTFILE); close (OUTPUTFILE)

am i using the right version of perl for this

his is perl 5, version 12, subversion 3 (v5.12.3) built for darwin-th +read-multi-2level (with 2 registered patches, see perl -V for more detail)

once again thank you for your patience!

Replies are listed 'Best First'.
Re^5: Completing a list/ array?
by CountZero (Bishop) on Nov 12, 2011 at 18:22 UTC
    Close but no cookie!

    I have edited your code:

    #!/usr/bin/perl use Modern::Perl; #does an implict use strict; use warnings and activa +tes "new" features no warnings qw /uninitialized/; my @result; # declares the array we will use to store the results { # starts a block open my $INPUTFILE, '<', '/Users/ts/numbers.txt' or die "File erro +r: input file: $!"; while (<$INPUTFILE>) { chomp; #removes new line my ($index, $value) = split /\t/; # splits each record at the +tab "\t" -character $result[$index] = $value; # and store the value in the array a +t the right place } } # ends the block, $INPUTFILE goes out of scope and closes the fileha +ndle automatically $result[3000050] = 0 unless $result[3000050]; { # starts a block open my $OUTPUTFILE, '>', '/Users/ts/full_number.txt'or die "File +error: output file: $!"; while (my ($index, $value) = each @result) { next if $index == 0; say $OUTPUTFILE, "$index\t", $value+0; # saves the results in +a >>indexnumber tab value<< format } } # ends the block, $OUTPUTFILE goes out of scope and closes the fileh +andle automatically

    CountZero

    A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James