http://www.perlmonks.org?node_id=1057241


in reply to "write" problem with "Spreadsheet::WriteExcel" Module

Why not like thus:
ExcelUtil.pm

package ExcelUtil; use warnings; use strict; use vars qw(@ISA @EXPORT); @ISA = qw(Exporter); @EXPORT = qw(writeCell); sub writeCell { my ( $obj, $row, $col, $str ) = @_; $obj->write( $row, $col, $str ); } 1;
testExcel.pl
use warnings; use strict; use Spreadsheet::WriteExcel; use ExcelUtil; my $wrk_bk = Spreadsheet::WriteExcel->new('sample.xls'); my $wrk_sht = $wrk_bk->add_worksheet('new_sheet'); writeCell( $wrk_sht, 1, $_, "Testing, Row-1, Col-$_" ) for 1..5;
Update:
Why even calling the subroutine within it module like you did in your "ExcelUtil.pm" like this
writeCell(1, 2, "testing, Row-1, Col-2");
With the code shown above you can even do like this: writeCell( $wrk_sht, $_, 1, "Testing, Row-$_, Col-1" ) for 1..5; And it still works for you.

If you tell me, I'll forget.
If you show me, I'll remember.
if you involve me, I'll understand.
--- Author unknown to me