Der*_*esi 3 perl case-sensitive
我有一个关于在perl中重命名目录的问题(caveat:需要区分大小写的重命名)。
我有一个名为Demo的目录。我有一个重命名目录的脚本,但是我需要区分大小写。
因此,演示与演示不同。
例如,我有一个名为Demo的目录。我想将其重命名为CLIENT1。我的脚本叫做perlDirRename arg1 arg2
。如果我提供参数Demo CLIENT1,我希望代码通过,如果我提供参数demo CLIENT1,我将引发错误
总结一下:
./perlDirRename Demo CLIENT1
(通过)
./perlDirRename demo CLIENT1
(失败)
这是一个代码片段:
my $from_dir = $ARGV[0];
my $to_dir = $ARGV[1];
if ($from_dir eq $to_dir) {
print("Arguments cannot be equal!\n");
exit(1);
}
move("$dirHome/$from_dir", "$dirHome/$to_dir") or die "Move failed: $!";
Run Code Online (Sandbox Code Playgroud)
如何在Perl中执行区分大小写的重命名或移动操作?
需要区分大小写的重命名
哪有这回事。
因此,演示与演示不同。
这完全取决于您使用的文件系统。在不区分大小写的文件系统上,例如Mac OS(APFS)和Windows(NTFS)上常用的文件系统,Demo
实际上是与相同的文件demo
。在区分大小写的文件系统上,Demo
并demo
有所不同。
这是有问题的文件系统的属性,而不是任何特定的操作(例如rename
)。
如果即使在不区分大小写的文件系统上,如果传入的名称不是规范形式(即与文件名显示的大小写不匹配),如果您希望程序产生错误,则必须自己获取规范名称并将其与进行比较eq
。详细信息取决于您的操作系统。
归档时间: |
|
查看次数: |
79 次 |
最近记录: |