in reply to compare two Excel spreadsheets

Use Spreadsheet::ParseExcel.

Start by reading in the contents of your first spreadsheet. Let's assume you're using worksheet titled "gendata".

use strict; use Spreadsheet::ParseExcel; my $oBook = Spreadsheet::ParseExcel::Workbook->Parse('first.xls'); if ( ( ! $oBook ) || ( ! defined( $oBook->{Worksheet} ) ) ) { die( "Cannot parse first spreadsheet" ); } my $sheetone = $oBook->Worksheet('gendata') || die( "No such worksheet gendata" );
Then read in the contents of the second spreadsheet (let's assume you're using worksheet titled "gensearch"):
my $oBook2nd=Spreadsheet::ParseExcel::Workbook->Parse('second.xls'); if ( ( ! $oBook2nd ) || ( ! defined( $oBook2nd->{Worksheet} ) ) ) { die( "Cannot parse second spreadsheet" ); } my $sheettwo = $oBook->Worksheet('gensearch') || die( "No such worksheet gensearch" );

Next let's assume that you want to search all the strings in the first 10 rows of column A in workbook two against the same column/row in workbook one.

for ( my $row = 0; $row < 10; $row++ ) { my $search = qr/$sheettwo->{Cells}[$row][0]->{Val}/; my $data = $sheetone->{Cells}[$row][0]->{Val}; if ( $data =~ m/$search/ ) { printf( "Column A Row %d matches\n", ( $row + 1 ) ); } }