Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Re: Re: Re: getting 0 to print

by Arien (Pilgrim)
on Jan 14, 2003 at 00:08 UTC ( #226656=note: print w/replies, xml ) Need Help??

in reply to Re: Re: getting 0 to print
in thread getting 0 to print

I have never seen this ...

$_ = "" => next unless defined;

... before. Could you explain how that works.

I'm not sure what part puzzles you, so...

  • defined implicitly refers to $_.
  • unless (...) { ... } can be written as ... unless ... if the block is just a simple statement.
  • ... => ... is another way to write ... , ... (apart from the fact that => will autoquote any word left of it).
  • In scalar context (ie the way used here) the comma (in either notation) evaluates its both arguments from left to right (and returns the value value of the last argument evaluated).

(You can find all details in perlsyn and perlop.)

In other words, that line is just one of the many variations of writing:

unless (defined $_) { $_ = ""; next }

— Arien

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://226656]
[Corion]: Maybe doing a double-fork (daemonizing) can make go that information away, but maybe not
[Corion]: But I think my knowledge of unix/Linux datastructures is several decades out of date, so I don't really know what information it keeps on processes
[oiskuu]: The useful bits that relate to your process can be found under /proc/self. What information are you thinking of? Tty name?
[tye]: I just daemonized and getlogin() still knew who I had been.
[tye]: perhaps loginuid ? Not that I concede that something not being in /proc means it is not useful.
[Corion]: tye: That's really interesting, but maybe it is because getlogin() returns the name, or the uid, so if that user has been replaced by another user with the same uid in the meantime, that's no problem to the system...
[davido]: or on ubuntu /var/run/utmp
[Corion]: Otherwise, I would imagine that a user with a process still alive would lock that information in memory.

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (8)
As of 2017-06-23 19:36 GMT
Find Nodes?
    Voting Booth?
    How many monitors do you use while coding?

    Results (554 votes). Check out past polls.