Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re^3: Cancel/no-op a require

by Pickwick (Beadle)
on Dec 30, 2014 at 15:14 UTC ( [id://1111731]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Cancel/no-op a require
in thread Cancel/no-op a require

So instead of returning (undef, sub{...}) I should've just returned (sub {...}).

The documentation is correct, returning your way might work, but is wrong according to the documentation. Instead I guess the important part you made wrong before is not returning a reference to a scalar for source code prefix as element 1. This is what I've been struggling with, which resulted in strange behaviour, like the returned filehandle in my returned list got read once, but not for a second file and such. Instead of returning a reference to a scalar, I tried to return undef, \'' or plain '', which all failed. When I started to really use a scalar, the return worked as documented: The file in my case got read using the handle and I could warn each line read in the given sub. It's important as well to really end the reading with 0 in the sub, else Perl will try to read data in some endless loop.

my $prefix = ''; # undef is valid as well return (\$prefix, IO::File->new($path, '<:bytes'), sub { $_ =~ /^1;\s*$/ ? 0 : 1 }, undef);

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1111731]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (4)
As of 2024-03-19 03:20 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found