Maybe it's the difference between the libraries that DBD::Oracle was compiled against vs. the libraries that TOAD was compiled against (I assume you did not compile TOAD anyway)? Someone said there was a 30 character limit, but even that long table name is not 30 characters long. I would start by pasting that SQL as is into a DBI prepare statement and see if it works. Then I might edit the SQL to see if I can narrow down the problem (e.g. does a 'select * from that_long_table_name' work?).
Update:(I also might try calling Oracle tech support, though I don't know if they support perl...they didn't when I last did Oracle...you might have to come up with an OCI example to submit if it comes to that).
Good luck.