为什么在Perl chmod中使用int()?

前端之家收集整理的这篇文章主要介绍了为什么在Perl chmod中使用int()?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为什么在Perl文件中设置perms时需要使用int()函数
die "blab,blah"
    if (! chmod(int(0664),$tmp_file));

我可以理解oct()的使用,如下面的perldoc示例所示:

$mode = "0644"; chmod(oct($mode),$tmp_file);

但int()函数

编辑

为了完整起见,这是perldoc -f chmod的推荐……

$mode = 0644;   chmod $mode,"foo";      # this is best

解决方法

这绝对没有意义. 0664已经产生整数.
$perl -MDevel::Peek -e'Dump(0664)'
SV = IV(0x7a6118) at 0x7a6128
  REFCNT = 1
  FLAGS = (PADTMP,IOK,READONLY,pIOK)
  IV = 436

IOK表示标量包含整数值.

这肯定是有人以oct(“0644”)开头的结果,但是当他们离开使用字符串时却不太明白他们在做什么.

猜你在找的Perl相关文章