I want to parse a xlsx and written this code. Its working normally when I give exit before

 my $workbook = $parser->parse("NSN_SGSN_3G_Report_20151116.xlsx");

If there is no exit before it waiting simply even not printing any statements too. I checked my file name trice. Later I through module I came to know that MSOFFICE 2007 files cant be read by that module. Is there any other way to do this????

#!/usr/bin/perl use warnings; use strict; my $config_dir = "/root/prac/NSN_SGSN/Config/"; my @circle_list_2g = (); my @circle_list_3g = (); my %seen_cir_2g = (); my %seen_cir_3g = (); my %circle_name = (); my @circle_mapping_list=`cat $config_dir/circle_name_2g`; foreach my $entry(@circle_mapping_list) { chomp $entry; my ($name,$id)=split(/\:/,$entry); $circle_name{$id}=$name; push (@circle_list_2g,$id) unless $seen_cir_2g{$id}++; } @circle_mapping_list=`cat $config_dir/circle_name_3g`; foreach my $entry(@circle_mapping_list) { chomp $entry; my ($name,$id)=split(/\:/,$entry); $circle_name{$id}=$name; push (@circle_list_3g,$id) unless $seen_cir_3g{$id}++; } print @circle_list_3g; use Spreadsheet::ParseXLSX; my $parser = Spreadsheet::ParseXLSX->new; my $workbook = $parser->parse("NSN_SGSN_3G_Report_20151116.xlsx"); if ( !defined $workbook ) { die $parser->error(), ".\n"; } my $worksheet = $workbook->worksheet(6); my ( $row_min, $row_max ) = $worksheet->row_range(); my ( $col_min, $col_max ) = $worksheet->col_range(); for my $row ( $row_min .. $row_max ) { for my $col ( $col_min .. $col_max ) { my $cell = $worksheet->get_cell( $row, $col ); next unless $cell; print "Row, Col = ($row, $col)\n"; print "Value = ", $cell->value(), "\n"; print "Unformatted = ", $cell->unformatted(), "\n"; print "\n"; } }

In reply to Problem in Parsing XLSX by ravi45722

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":