有了这个 Perl 和这台机器:
$ perl -v
perl 5, version 34, subversion 0 (v5.34.0) built for x86_64-linux-gnu-thread-multi
$ sb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.4 LTS
Release: 22.04
Codename: jammy
我运行了这段代码:
my $filename= 't/mod_Prototype/SecondModule.t';
my $nofile = chmod 0777, $filenmame;
printf "%5sNumber of file :: %s - %s\n",'',$nofile,$filename;
我检查了它是否更改了权限:
ll t/mod_Prototype/
total 8
-rw-rw-r-- 1 lutz lutz 674 Mar 19 09:00 SecondModule.pm.t
-rw-rw-r-- 1 lutz lutz 674 Mar 19 10:05 SecondModule.t
这是我的问题:
我认为 Perl 中的系统调用可以解决这个问题, 但我正在寻找一个纯粹的 Perl 或语言解决方案。
我尝试创建一个脚本文件。
我希望使文件可执行(也称为更改文件的模式)。
我喜欢自动化脚本开发并测试 Perl 语言集,这些语言使用频率较低。 Perl 中有 215 个已知函数/关键字,但其中 49% 的关键字非常特殊,需要进行实验以确保它们仍然正常运行。
没有错误,没有产生警告,并且收到了正确的返回值(列表中的一个文件为 1),但该命令对于更改文件的模式无效。
您使用strict吗?这些变量不是同一个变量:
$filename
$filenmame