Anyway, eval is so very rarely needed and should be shunned. But you wanted minor corrections. Let's see...

Change

if ((eval "$cells[$extract_col] $filter_array[$i][1] $filter_array[$i] +[2]"))
to
if ((eval '$cells[$extract_col] ' . $filter_array[$i][1] . ' $filter_a +rray[$i][2]'))

I need to print the entire row of the input file to the output file

Then why don't you do so? Change

print OUTFILE "$cells[$extract_col]", "\n";

to

print OUTFILE $row, "\n";

The clarity of your code would be somewhat enhanced if you gave @filter_array's columns names; e.g. $filter_array[$i]->{action} = 'append' or $filter_array[$i]->{column} = 'c'. Remember: with clear code, it is easier to be certain that it works correct.

Oh, and please stop quoting "$var" since it is identical to plain $var -- barring a few exceptions having to do with references and objects.


In reply to Re^2: match search string with column header, do some filtering with matched column, print lines/rows that match filter criteria by Anonymous Monk
in thread match search string with column header, do some filtering with matched column, print lines/rows that match filter criteria by dkhalfe

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.