#!/usr/bin/perl -w for (my $x1 = 0; $x1 <= $#RAM1; $x1++) { for (my $y1 = 0; $y1 <= $#{$RAM1[$x1]}; $y1++) { if(($RAM[$x1][$y1]) eq ($RAM1[$x1][$y1])) { if($x1==0){ } #print "DO NOTHING\n"; } else{ push(@shyam,$y1); I wanted to know what actualy is getting stored in @shyam ,Is it the column that are mismatched. print "Mismatches \$y1=$y1 and $RAM[$x1][$y1] and $RAM1[$x1][$y1]\n"; my $lenfirst=length($RAM[$x1][$y1]); $lenfinal=35-$lenfirst; my $spacelen=" " x "$lenfinal"; In this particular code are we storing Array of hash with $Key as What ????? (i.e.) Here according to this particular program, what is actually geeting stored in $y1 ???? push(@inde,{"$y1" => "$RAM[$x1][$y1]"."$spacelen"."\|$RAM1[$x1][$y1]"}); } } }