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