Perl中执行print "$(")输出异常数值,求原因解释
问题解释
你遇到的是Perl双引号字符串的变量内插特性导致的结果:
- 在Perl的双引号字符串中,
$(是一个内置特殊变量,它代表当前进程的有效组ID列表(包含主组ID和所有附属组ID) - 当你执行
print "$("时,Perl会自动把这个变量替换成对应的组ID列表,以空格分隔输出,所以你看到的那串数字就是当前运行脚本的用户所属的所有组的ID(不同环境下这个列表会有差异)
如果想输出$(这个字面字符串,有两种方式:
- 使用单引号字符串(单引号不会触发变量内插):
print '$('; - 转义美元符号:
print "\$(";
内容的提问来源于stack exchange,提问作者Ronald Wildenberg
相关产品推荐
相关产品推荐

