Perl:How File::Spec->;佳能路径($path)有效
这个方法在做什么 我只是不明白它的目的,perldoc中的解释对我没有帮助 现在,我需要更新一个使用此方法的脚本,以便更好地了解它在做什么 有没有简单的教程来理解这个方法Perl:How File::Spec->;佳能路径($path)有效,perl,Perl,这个方法在做什么 我只是不明白它的目的,perldoc中的解释对我没有帮助 现在,我需要更新一个使用此方法的脚本,以便更好地了解它在做什么 有没有简单的教程来理解这个方法 谢谢curdir返回当前工作目录的符号canonpath在不同的操作系统上执行不同的操作,例如检查或 。这意味着它会 将所有路径分隔符更改为常规路径分隔符字符 将多路径分隔符压缩为单个路径分隔符 移除拖尾路径分隔符 删除任何多余的和。路径元素 这最好用Windows路径来演示,如 C:/a/b/../c///d/.//
谢谢
curdir
返回当前工作目录的符号<代码>canonpath在不同的操作系统上执行不同的操作,例如检查或
。这意味着它会
- 将所有路径分隔符更改为常规路径分隔符字符
- 将多路径分隔符压缩为单个路径分隔符
- 移除拖尾路径分隔符
- 删除任何多余的
和
路径元素。
C:/a/b/../c///d/.//
这是一段Perl代码
use strict;
use warnings;
use feature 'say';
use File::Spec;
say File::Spec->canonpath('C:/a/b/../c///d/.//');
输出
很遗憾,我无法解释您显示的代码
my $dir = File::Spec->curdir();
my $path = File::Spec->canonpath($dir);
因为在Windows和Linux系统上,curdir
方法返回
,而canopath
保持不变。如果您想发现当前目录的绝对路径,那么可以使用
my $path = File::Spec->rel2abs(File::Spec->curdir());
但是,使用这样的模块更好
use Cwd ();
my $path = Cwd::cwd;
我正在努力理解脚本在做什么。然后我需要修改/扩展脚本。脚本的作用是:1.)my$dir=File::Spec->curdir();2.)my$path=File::Spec->canonpath($dir);我只是不明白这些步骤。我试过了,但仍然没有达到目的。my$dir=File::Spec->curdir();my$path=File::Spec->canonpath($dir);打印“$dir\n”;打印“$path\n”;两张照片上都有点。@paperazzo79:是的,因为
没有连续的斜杠、双点或三点,所以上面的canonpath
是不允许的。
use Cwd ();
my $path = Cwd::cwd;