develooper Front page | perl.perl5.porters | Postings from February 2018

Re: [perl.git] branch blead updated. v5.27.8-361-g910a6a8be1

Thread Next
February 23, 2018 13:12
Re: [perl.git] branch blead updated. v5.27.8-361-g910a6a8be1
Message ID:
On 23 Feb 2018 17:31, "Yves Orton" <> wrote:

+            if ($pack->can("((")) {
+                # this eval is required, or fail the overload test
+                # in dist/Carp/t/vivify_stash.t, which is really quite
+                # Even if we never enter this block, the presence of the
+                # causes the test to fail. This seems like it might be a
+                # in require. Needs further investigation - Yves
+                eval "require overload; 1"
+                    or return "use overload failed";
+            }
+            my $sub = _fetch_sub(overload => 'StrVal');
+            return $sub ? &$sub($arg) : "$arg";

Can anybody shed any light on why the eval above is required? If you
replace that line with a simple "require overload;" then even when the if
condition is false and the require is NOT executed we fail the "didn't load
overload" test in vivify_stash.t which makes no sense to me.

Why would a require that is not executed have any side effects? Why is the
eval necessary to avoid those side effects? Is this a bug or have I missed


Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About