I guess it depends on what else you are doing. The eval stops the module load fail from dieing. This allows other lines to be added to the program which will run. When the die is hit the JAPH prints.
...
eval {require "JAPH"};
print "Hello mum!\n";
die
OUTPUT
Hello mum!
Can't locate JAPH in @INC ...
...
) at test.pl line xx
... propagated at test.pl line yy.