0

Linuxファイルのアクセス許可を解析できるようにする必要があるcgiスクリプトがあります。問題は、パーミッションが "764" の場合、perl では 10 進数のスカラーとして扱われることです。つまり、8 進数で 1374 として表されますが、8 進数で 764 を表すことを意味します。どの変換ルーチンを呼び出して、var を文字列として取り、それを 8 進数に変換すればよいかわかりません。sprintf を使用すると、上記で示した 8 進数変換である 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 に答える