in reply to Re: Parsing csv without changing dimension of original file
in thread Parsing csv without changing dimension of original file

I totally agree.

But the only mention of $. in the OP code is the line

next if $. < 2;

Which suggests that the real problem is not in the line count but elsewhere.

Also, what purpose does this line serve?

use Text::CSV;

Edit: The OP seems to have been silently updated while I was writing this. But I still don't understand the problem.

Replies are listed 'Best First'.
Re^3: Parsing csv without changing dimension of original file
by zillur (Novice) on Mar 06, 2017 at 22:08 UTC

    Thank you very much for your reply. Here is the original code:

    use strict; use warnings; open my $fh, '<', 'kegg_pathway_title.txt' or die $!; my %dict = map { chomp; split ' ', $_, 2 } <$fh>; my $re = join '|', keys %dict; open $fh, '<', 'Orthogroups_3.csv' or die $!; while (<$fh>) { s/($re)/$dict{$1}/g; print; }

    I added the line

    next if $. < 2;

    because it giving me more column than the original csv. My original csv contains 13 columns. After replacing the content using dictionary it gives me many more column and couldn't load in R. You saw my previous code in loading the file in R. Is there anything I need to do to make it loadable in R. The 2nd column of the dict may contain multiple name. In the original csv the cells also contains single/multiple or no entry. Thanks again for helping me. Best Regards Zillur