我在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
答案 0 :(得分:10)
喜欢bash和其他 POSIX
shell: $$
是当前进程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.