Perl $$(双美元)标志 - 它取消引用了什么?

时间:2018-02-13 06:29:56

标签: perl

我在Perl $$var -- two dollar signs as a sigil?上看到了问题,并且该双美元符号用于取消引用

我有这个perl代码

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat{
        return self.view.frame.size.height * 0.1
}

从上面的代码中,双美元符号解除引用是什么? sub sock_initialize { my $sock = q{}; my $port = q{}; # $name running my $max_count = 250; my $timeout = 5; my $max_retries = 36; # Get a port for our server. $sock = IO::Socket::INET->new( Listen => SOMAXCONN, # listen queue depth LocalPort => 0, Reuse => 1 ); die "Unable to bind a port: $!" if !$sock; $port = $sock->sockport(); my $ip = inet_ntoa( scalar gethostbyname( $HOST )); my $uid = (getpwuid( $> ))[2]; my $queue = join(":", $ip, $port, $$, $uid); print sprintf("started on port $port ($$), SOMAXCONN=%d\n", SOMAXCONN); return $sock; } ## end sub sock_initialize

1 个答案:

答案 0 :(得分:10)

简单地

喜欢和其他 POSIX $$是当前进程ID(PID)

man perlvar

  $PROCESS_ID
  $PID
  $$      The process number of the Perl running this script.  Though you can
          set this variable, doing so is generally discouraged, although it can
          be invaluable for some testing purposes.  It will be reset
          automatically across "fork()" calls.

Nota:来自man perl

Reference Manual
        perlsyn             Perl syntax
        perldata            Perl data structures
        ...
        perldebug           Perl debugging
        perlvar             Perl predefined variables
        ...

来自man POSIX ...

   "getpid"
          Returns the process identifier.  Identical to Perl's builtin
          variable $$, see "$PID" in perlvar.