develooper Front page | perl.perl5.porters | Postings from June 2022

Re: Pre-RFC: yield true feature

Thread Previous | Thread Next
From:
Tom Molesworth via perl5-porters
Date:
June 14, 2022 17:10
Subject:
Re: Pre-RFC: yield true feature
Message ID:
CAGXhHdkm8dfKDyQc_6aqP+toWjGHHWnneXDUq7m6hUti3KZN0g@mail.gmail.com
On Wed, 15 Jun 2022 at 00:13, Graham Knop <haarg@haarg.org> wrote:

> On Tue, Jun 14, 2022 at 6:02 PM Alexander Hartmaier
> <alex.hartmaier@gmail.com> wrote:
> >
> > On Tue, Jun 14, 2022 at 11:33 AM Graham Knop <haarg@haarg.org> wrote:
> >>
> >> On Tue, Jun 14, 2022 at 8:15 AM Alexander Hartmaier
> >> <alex.hartmaier@gmail.com> wrote:
> >> > Look at some of the other modules using the return value of require
> from the grep.metacpan.org link.
> >>
> >> Do you have a concrete example?
>

There are plenty of cases which are effectively "`require` is used instead
of `do`", i.e. calling `require` and the subsequent code relies on the
data, rather than truth of the return value.

Some examples from just the first page of results - there are others on
that page:

https://grep.metacpan.org/search?qci=&q=%3D%20require&qft=&qd=AWS-Lambda

my $app = require "$ENV{'LAMBDA_TASK_ROOT'}/app.psgi";
my $func = AWS::Lambda::PSGI->wrap($app);

https://grep.metacpan.org/search?qci=&q=%3D%20require&qft=&qd=App-Alice

  my $config = {};
  if (-e $self->fullpath) {
    $config = require $self->fullpath;

https://grep.metacpan.org/search?qci=&q=%3D%20require&qft=&qd=App-Chart

my $aref = require App::Chart::Gtk2::IndicatorModelGenerated;

All of these are somewhat fragile: call the code twice or have something
else `require` the relevant module/file first, and they'd have problems.
However, given how often this pattern appears,
require-returns-`builtin::true` may be too disruptive if strictly enforced?

Keeping the original value _also_ doesn't seem like a good idea, `package
Example; my $should_drop_out_of_scope = ...;` for example.

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About