【发布时间】:2016-08-18 17:18:12
【问题描述】:
这个问题有一些其他语言的答案。我是 perl 的新手,我正在这样做(更多的是比较字符串而不是使用文件系统函数):
use File::Spec;
sub has_common_prefix {
my ($path, $subpath) = @_;
$path = uc (File::Spec->canonpath($path))."\\";
$subpath = uc (File::Spec->canonpath($subpath));
if ( substr($subpath, 0, length($path)) eq $path ) return 1;
return 0;
};
has_common_prefix('c:\\/abCD/EFgh', 'C:\abcd\\efgh/ijk.txt');
我想知道是否有更好的方法来做到这一点,以及更多“perlisch”:-)
谢谢。
【问题讨论】:
-
你也可以检查一个字符串
$x是否有前缀$y,使用$x =~ /^\Q$y/ -
index函数可能也很方便。
标签: perl filesystems