CSWcommon,1.4.5 CSWexpat,1.95.7 CSWggettext,"0.14.1,REV=2005.06.29" CSWgmake,3.81 #### CSWcommon,1.4.5 CSWexpat,1.95.7 CSWggettext,"0.14.1,REV=2005.06.29" CSWgmake,3.81 #### #!/usr/bin/perl # ## Define variables # $EMPTY=""; # ## Open file 1 for input and place contents into hash table # $FILENAME1 = shift; open(FILE1,"./$FILENAME1") || die "USEAGE ./checker file1 file2\n"; while(){ @PACKAGE1 = split(',',$_,2); $FILE1PKG{$PACKAGE1[0]}{$PACKAGE1[1]} = $_; #%FILE1PKG=($PACKAGE1[0]=>{Version=>$PACKAGE1[1]} ); } close FILE1; # ## Open file 2 and compare the two this will create several outputs # $FILENAME2 = shift; open(FILE2,"./$FILENAME2") || die "USEAGE ./checker file1 file2\n"; while(){ @PACKAGE2 = split(',',$_,2); $FILE2PKG{$PACKAGE2[0]}{$PACKAGE2[1]} = $_; } close FILE2; for $MASTERPKG ( keys %FILE1PKG ){ print "FILE1 PACKAGE: $MASTERPKG VERSION: ",(keys %{ $FILE1PKG{$MASTERPKG}}); $VERSION1 = $FILE1PKG{$MASTERPKG}; $VERSION2 = $FILE2PKG{$MASTERPKG}; print "VERSION1: $VERSION1 VERSION2: $VERSION2\n"; print "FILE2 PACKAGE: $MASTERPKG VERSION: ",(keys %{ $FILE2PKG{$MASTERPKG}}); if ($VERSION1 eq $VERSION2) {print "SAME\n"}; } #### FILE1 PACKAGE: SUNWkmp2r VERSION: "5.0,REV=2001.10.01.15.47" VERSION1: HASH(0x93f5458) VERSION2: HASH(0x945a948) FILE2 PACKAGE: SUNWkmp2r VERSION: "5.0,REV=2001.10.01.15.47"