如何使用完整文件名拆分perl中的路径?

Mak*_*eja 3 perl split path

我想分开一条路可以有人帮助我吗?

我的意见是:

$getpath = "/u/project/path/file.name";
Run Code Online (Sandbox Code Playgroud)

我想分成/u/project/path一个变量和file.name其他变量.

cch*_*son 8

File :: Basename可以帮助您提取所需的信息(并且是核心模块的一部分)

  my($filename, $directories, $suffix) = fileparse($path);
Run Code Online (Sandbox Code Playgroud)


小智 5

首先,有许多perl模块可以执行您想要的操作,请尝试在CPAN上进行搜索。其次,我建议使用File :: Spec模块。例如:

use File::Spec;
($volume,$directories,$file) = File::Spec->splitpath( $path );
Run Code Online (Sandbox Code Playgroud)

那么$ directories将是“ / u / project / path”,而$ file将是“ file.name”。

File :: Spec模块可以支持五个操作系统:Unix(Linux),Mac,Win32,OS2,VMS。并且该模块还提供大量其他文件操作,例如catpath,updir,file_name_is_absolute等。您无需在其他系统上更改代码。

参考:File :: Spec