Subject: | The scrape method does not check whether $stuff was actually passed in |
It's easy to called $scraper->scrape() and get bit by weird bugs, since the subroutine neither checks that $stuff is passed in nor does something that would cause it to error out in that case.
So, we get only a vague warning of "use of uninitialized value in subroutine entry" within build_tree(), but the execution carries on which could lead to many subtle bugs.
This just needs a single line check at the beginning of 'scrape' to verify that $stuff has a defined value.