A solution that doesn't use the second file, but builds the property table while reading the first file. This assumes that all required properties are present somewhere in the first file.

use strict; use warnings; my %properties; my @computers; while (<DATA>) { chomp; next if ! length; push @computers, $_; while (<DATA>) { chomp; last if ! length; push @{$properties{$_}}, $computers[-1]; } } for my $computer (@computers) { my @missing = grep {! grep {$_ eq $computer} @{$properties{$_}}} k +eys %properties; $computer = [$computer, [@missing]]; } print join "\n", map {"$_->[0]: @{$_->[1]}"} @computers; __DATA__ Computer1 KB893756 KB896423 KB899588 KB899591 KB921883 Computer2 KB893756 KB896422 KB896423 KB899591 KB917159 KB921883 Computer3 KB893756 KB896422 KB899588 KB899591 KB917159 KB921883

Prints:

Computer1: KB896422 KB917159 Computer2: KB899588 Computer3: KB896423

Note: computer one's data was edited slightly from OP's data so that it misses two properties.


DWIM is Perl's answer to Gödel

In reply to Re: Finding out what computer does NOT have certain data by GrandFather
in thread Finding out what computer does NOT have certain data by Sunnmann

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.