Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: Undefined value returned on call to readline (<>)?

by Anonymous Monk
on Feb 17, 2025 at 06:05 UTC ( [id://11164005]=note: print w/replies, xml ) Need Help??


in reply to Undefined value returned on call to readline (<>)?

FYI, the author isn't interested in fixing it: https://rt.cpan.org/Public/Bug/Display.html?id=108434
  • Comment on Re: Undefined value returned on call to readline (<>)?

Replies are listed 'Best First'.
Re^2: Undefined value returned on call to readline (<>)?
by choroba (Cardinal) on Feb 17, 2025 at 08:25 UTC
    The fix presented in the bug report is not nice. It uses the my $var if ..., discussed for example in Conditional initialization of my-variables.

    It would've been cleaner to use something like

    || die qq/Cannot open pid file "$self->{path}": $!\n/; flock($fh, LOCK_EX | LOCK_NB) || die qq/pid "$self->{path}" already locked: $!\n/; - my ($pid) = <$fh> =~ /^(\d+)/; + my $maybe = <$fh>; + $maybe = "" unless defined $maybe; + my ($pid) = $maybe =~ /^(\d+)/; close $fh if @_ == 1;

    map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]
      "It would've been cleaner to use something like"
      ...

      I happily accept your patch, choroba - if only I was the module author. And I read the bug thread over at Debian and I am in agreement that it was not nice.

      This was interesting, educational for me, points for choroba and ikegami. The reply from ikegami confirmed what I suspected, and the discussion at Conditional initialization of my-variables was enlightening. I had looked at that code in Proc-PID-File and it bothered me with out me knowing exactly why. I guess I have some good Perl instincts after all; sometimes we code too compactly, saving a couple more lines of code but introducing a problem in doing so. Yes, indeed, Perl lends itself to obfuscation.

      Feb 18, 2025 at 19:51 UTC

      A just machine to make big decisions
      Programmed by fellows (and gals) with compassion and vision
      We'll be clean when their work is done
      We'll be eternally free yes, and eternally young
      Donald Fagen –> I.G.Y.
      (Slightly modified for inclusiveness)

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others avoiding work at the Monastery: (3)
As of 2025-05-21 01:34 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.