Figuring out exactly how and where an error message is coming from can be a challenge if the error gets triggered deep inside code that isn't your own, or even deep inside your own code, if you have reusable subroutines that get called in several places.
If your code is dying when you get this error, you might try placing the following line at the top of your script just below your use Carp::Assert. It forces a nice stack trace so you can see exactly what was calling what when your error got generated.
$SIG{__DIE__} = sub { Carp::confess unless $^S };
I find it helpful sometimes to comment and uncomment it. The Carp stack trace has a nasty habit of truncating messages so you can't always see the full error message. I'll run the code once with the above line commented to see the full message and then once again with it uncommented to see the stack trace that lead to the message.
And many thanks to the kind monk who suggested using Carp::confess in $SIG{__DIE__} to me a year or so ago in the cb - I wish I remember who you are because you saved me countless hours of debugging time since.
In reply to Re: Spreadsheet::WriteExcel error
by ELISHEVA
in thread Spreadsheet::WriteExcel error
by ag4ve
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |