use Spreadsheet::ParseExcel; use Data::Dumper; $filename="Book2.xls"; $e=new Spreadsheet::ParseExcel; $eBook=$e->Parse($filename); $sheets = $eBook->{SheetCount}; ($eSheet, $sheetName); foreach $sheet (0 .. $sheets - 1) { $eSheet = $eBook->{Worksheet}[$sheet]; $sheetName = $eSheet->{Name}; print "Worksheet $sheet: $sheetName\n"; %set =(); %data =(); foreach $row( 1 .. $eSheet->{MaxRow} ) { $master_key= ($eSheet->{Cells}[$row][0]->Value); foreach $col(1 .. $eSheet->{MaxCol}) { next unless defined $eSheet->{Cells}[$row][$col]; my $key=$eSheet->{Cells}[0][$col]->Value; my $val=($eSheet->{Cells}[$row][$col]->Value); $set{$key}=$val; } } push @{ $data{$master_key}}, \%set; print Dumper %data; } #### $var1='2'; $var2=[{ clz=>iir, degreee=>b.tech, name=>ravi, } ];