On Mar 5, 2006, at 3:55 PM, David Wheeler wrote:

On Mar 5, 2006, at 13:52, Chris Dolan wrote:

Advice? While this example is contrived, the "eval { require ... }" idiom is used often in the wild, so this is not a wholly unrealistic scenario.

Of course it should be

  eval { require Bar; 1; } or die $@;

But I agree that it seems like if the load failed in your eval, it should fail for Test::More, too. But maybe even a failed require sets the record in %INC?

In this case, Bar.pm is intended to represent optional functionality that Foo.pm conditionally loads. So, adding a die would be counterproductive. The problem is that I don't know how to distinguish between a load failure or a compile failure. There must be a way to do that right?

Chris
--
Chris Dolan, Software Developer, Clotho Advanced Media Inc.
608-294-7900, fax 294-7025, 1435 E Main St, Madison WI 53703
vCard: http://www.chrisdolan.net/ChrisDolan.vcf

Clotho Advanced Media, Inc. - Creators of MediaLandscape Software (http://www.media-landscape.com/) and partners in the revolutionary Croquet project (http://www.opencroquet.org/)


Reply via email to