Yes, I've tried to pass $worksheet to getData(), but it dosen't work. Also, there is unfortunately no error message except for the die. In case it's helpful, this is what it prints out:
Tk::Error: Write row failed:
main::getData at person_list.pl line 57
main::__ANON__ at person_list.pl line 32
Tk callback for .button
Tk::__ANON__ at /Library/Perl/5.8.6/darwin-thread-multi-2level/Tk.pm
+line 247
Tk::Button::butUp at /Library/Perl/5.8.6/darwin-thread-multi-2level/T
+k/Button.pm line 111
<ButtonRelease-1>
(command bound to event)