Linux权限基础转换

tra*_*ree 0 linux perl cgi

我有一个cgi脚本,我需要能够解析Linux文件权限.问题是,如果权限以"764"形式出现,则将其视为perl中的基数10标量.换句话说,它在八进制中表示为1374,而在八进制中表示为764.我不确定要调用的转换例程,将var作为字符串并将其转换为八进制?如果你使用sprintf,它将给出错误的结果,因为它将返回1374,我上面显示的八进制转换.

jks*_*hah 6

可能你正在寻找oct功能

my $perm_o = '764';
my $perm_d = oct($perm_o);
print "$perm_d\n";
Run Code Online (Sandbox Code Playgroud)

输出:

500
Run Code Online (Sandbox Code Playgroud)

请参阅documentation更多详细信息