0

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

4

2 回答 2

6

可能您正在寻找oct功能

my $perm_o = '764';
my $perm_d = oct($perm_o);
print "$perm_d\n";

输出:

500

documentation更多详情请参阅

于 2013-10-30T18:08:29.577 回答
3

你不能只oct("764")用于这个吗?

该文档实际上建议了它的确切用途。

于 2013-10-30T18:09:02.970 回答