soubalaji does not need double quote interpolation, as there are no perl variables that might need expansion embedded in his command string.

Instead he needs glob expansion. ./paz0*/home/fdm*/lo­gs/*CYUTI*21* presumably expands to a long list of matching files, which he wants to filter with gzgrep(*). Running a command via backticks ought to invoke a shell to do the expansion, however as I recall the shell invoked is sh which has few features compared with bash or the like.

If it where me, I would implement the whole thing in perl, that is use glob or File::Glob to expand the glob patten to a list of files, then open each through a zcat filter searching for matching lines.

Alternatively, soubalaji could use perl to expand the glob, feed that list into gzgrep, and then capture and filter the output. Something like:

my @file_list = glob './paz0*/home/fdm*/lo­gs/*CYUTI*21*'; my $command = 'gzgrep "00380-1037" ".join(' ',@file_list); open my $cmdFH, '-|', $command or die "Error running gzgrep $!"; my @matches = {grep qr/isTempDisabled Y/} <$cmdFH>; close $cmdFH; print @matches;

Note that the second use of grep is the internal perl function, and it is used to filter the list of matching lines that we get when the filehandle on the gzgrep command is called in an array context.

(*) could gzgrep be a typo? On my system the command to grep gzip compressed files is zgrep


In reply to Re^2: Use Unix command in Perl by chrestomanci
in thread Use Unix command in Perl by soubalaji

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.