Perl$^O
の^
. 入ると
print "$(^b)";
それはいくつかの数字を思い付きます:
1000 81 90 91 92 93 100 150 1000
これらは何を意味しますか?これはある種の0xdeadbeef
ですか?
Perl$^O
の^
. 入ると
print "$(^b)";
それはいくつかの数字を思い付きます:
1000 81 90 91 92 93 100 150 1000
これらは何を意味しますか?これはある種の0xdeadbeef
ですか?
$(の値を出力しているだけだと思います。
このプロセスの本当の目的。同時に複数のグループのメンバーシップをサポートするマシンを使用している場合は、スペースで区切られたグループのリストが表示されます。最初の番号は getgid() によって返された番号で、次の番号は getgroups() によって返された番号です。最初の数字と同じです。
ただし、 $( に代入される値は、実際の gid を設定するために使用される単一の数値でなければなりません。そのため、ゼロを追加するなどして強制的に数値にすることなく、$( によって指定された値を $( に代入してはなりません。これはリストを取る有効な gid ($) ) とは異なります。
POSIX::setgid() を使用すると、実 gid と実効 gid の両方を同時に変更できます。$( を変更するには、変更を試みた後に発生する可能性のあるエラーを検出するために $! をチェックする必要があります。
比較は次のとおりです。
diff <(perl -le 'print "$(";') <(perl -le 'print "$(^b)";')
1c1
< 20 20 402 12 33 61 79 80 81 98 100 204 401
---
> 20 20 402 12 33 61 79 80 81 98 100 204 401^b)
さまざまな組み込み変数のすべてのリストについては、ドキュメントを参照してください(それらに相当する名前perldoc perlvar
とともに)。use English;