in reply to Re^9: XML::Twig Support for Parameter Entities (docs)
in thread XML::Twig Support for Parameter Entities

For me, 'do' does "search @INC" and does "update %INC", despite the docs.

No, not despite, exactly as the docs state: do searches @INC - I have gotten this bit wrong (you apparently too just now).

So, the only remaining difference between require and do is that require doesn't load a file present in %INC, while do loads unconditionally. But since require doesn't cache the value it returns at the first call, I have to cache it anyways.

Which means, that I'll be using do furthermore for all the cases I presented. Thanks!

update: IMO perl should have an internal table holding the return values from require evals.

perl -le'print map{pack c,($-++?1:13)+ord}split//,ESEL'
  • Comment on Re^10: XML::Twig Support for Parameter Entities (right)