Here I am trying to count the events where 10th field (Submit), 13th field (GSM), 14th field (SMPP). The sample input is

Tue Oct 13 00:50:01 2015|1025|959791769374|1234|Tue Oct 13 00:50:01 20 +15|Tue Oct 13 00:50:01 2015|CMT|Undelivered|none|Submit|0|SMSC_PR_LC_ +SMSC_InvalidDestAddress|GSM|INVALID|ASCII|92|92|no||no|no||None|No|NO +|no|no|0|0|0|0||959790000028||8|0||0|no|no|default_billing|-1|0|no|no +|1|1|1|1|0|1|0|0|||||Tue Oct 13 06:50:01 2015|SR|||IV|011809614446740 +010007|||0|0||0|0||0||||1234||||||||||||||||||

I tried like this. It's not showing any error nor warnings. I don't understand where I have to mention my input file.

#!/usr/bin/perl use strict; use warnings; use Text::CSV; my $csv = Text::CSV->new(); # create a new object $csv->setDelimiter('|'); my $sample_input_string = '""|""|""|""|""|""|""|""|Submit|""|""|""|GSM +|GSM|'; if ($csv->parse($sample_input_string)) { my @field = $csv->fields; my $count = 0; for my $column (@field) { print ++$count, " => ", $column, "\n"; } print "\n"; } else { my $err = $csv->error_input; print "parse() failed on argument: ", $err, "\n"; }

Output

[root@ems Telenor_CDR]# perl text_csv.pl 1 => 2 => 3 => 4 => 5 => 6 => 7 => 8 => 9 => 10 => 11 => 12 => 13 => 14 => 15 => 16 => 17 => 18 => 19 => 20 => 21 => 22 => 23 => 24 => 25 => 26 => 27 =>

Expected output

Submit|GSM|GSM => 560

In reply to Need help with Text::CSV by ravi45722

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.