I have 2 files that I am trying to compare. One is sorted the other one is not(and includes some info that I really don't need) ie

//snippet of sorted for File1

acp.lanier.com = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (COMMUNITY = tcp.lanier.com) (PROTOCOL = TCP) (HOST = st.lanier.com) (PORT = 1533) ) ) (CONNECT_DATA = (SID = utl) ) )

//File 2 unsorted

/want to ignore this part

############## # Filename......: # Name..........: # Date..........: ################ /

sdcht.lanier.com = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (COMMUNITY = tcp.lanier.com) (PROTOCOL = TCP) (Host = sb.lanier.com) (Port = 1521) ) ) (CONNECT_DATA = (SID = sdcht) /want to ignorthis(GLOBAL_NAME = sdcht.lanier.com)/ ) )

I obtain the general pattern and input into an array. sort the unsorted array. and the compare the files and print what is different. If anyone can tell me where I am going wrong in my logic or coding.
#! /u/ss/bin/perl -w $pattern = qr/ ([^=]*=\s*\(DESCRIPTION\s*=\s* \(ADDRESS_LISTS\s*=\s*\(ADDRESS\s*=\s* \(COMMUNITY\s*=\s*[^)]*\)\s*\(PROTOCOL\s*=\s*TCP\)\s* \(HOSTS\s*=\s*[^)]*\)\s*\(PORTS\s*=\s*\d+\)\s*\)\s*\)\s* \(CONNECT_DATA\s*=\s*\(SID\s*=\s*[^)]*\)\s* [(GLOBAL_NAME\s*=\s*[^)]*)]?\s* \)\s*\)/x; open (FILE, "tnsnames.ora") or die $!; while (<>) { if(/$pattern/){ push @unsorted, $pattern; } } close FILE; @unsorted = sort @unsorted; open (FILE, "tns.log") or die $!; while (<>) { if(/$pattern/) { push @sorted, $pattern; } } close FILE; $x = pop @unsorted ||'' ; $y = pop @sorted ||'' ; while ($x || $y) { if($x gt $y) { print "missing from file1: $x \n"; $x = pop @sorted ||'' ; } elsif ($y gt $x) { print "missing from file2: $y \n"; $y = pop @sections ||'' ; } else{ $x = pop @sorted ||'' ; $y = pop @sections ||'' ; }

In reply to Sort and Compare Files by lanier

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.