in reply to Re: why cann't $@ output the eval error in this case?
in thread why cann't $@ output the eval error in this case?

Thanks a lot. I added the  Win32::OLE->Option(Warn => 4); before unless($sheet = eval { $book->Worksheets($sheet_name) }) . And it works well exactly what I wanted.