如何使用 perl 将完整路径转换为相对路径?

2024-03-29

我在 Perl 程序的两个变量中拥有文件的完整路径和其父目录之一的完整路径。

什么是计算文件相对于父目录的相对路径的安全方法。需要在 windows 和 unix 上工作。

e.g.

$filePath = "/full/path/to/my/file";
$parentPath = "/full";
$relativePath = ??? # should be "path/to/my/file"

Use 文件::规格 http://perldoc.perl.org/File/Spec.html

他们有个abs2rel功能

my $relativePath = File::Spec->abs2rel ($filePath,  $parentPath);

可在 Windows 和 Linux 上运行

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 perl 将完整路径转换为相对路径? 的相关文章

随机推荐

  • 忽略文件 lib.a,该文件是为存档而构建的,这不是正在链接的体系结构(x86_64)

    我正在尝试编写一个 printf 克隆代码 我已经构建了一个名为 libftprintf a 的库文件 但是当我尝试使用它时 在 Mac OSX 10 8 5 上出现以下错误 ld warning ignoring file libftpr
  • 为什么双空花括号 { { } } 创建一个只有一个元素而不是零的 std::initializer_list

    我有以下构造函数 MyItem std initializer list
  • Intellij Idea 13 UI Designer 和自动 Gradle 构建

    我使用 Intellij UI Designer 为项目创建表单 当我使用 idea 构建时 一切工作正常 因为它为我处理编译表单 但由于我们最近改用 Gradle 进行构建 所以还无法生成可执行的 jar 文件 我的 google fu
  • Chrome 插件随机向我的 C++ 本机主机应用程序发送垃圾

    我正在尝试为我的大学项目编写一个简单的家长控制应用程序 但我是浏览器插件的新手 我想使用Chrome插件将用户实时查看的主机发送到Qt应用程序 Qt应用程序将分析用户行为 问题是 有时 chrome 发送正确的主机 有时它发送带有空字符串或
  • 从 Delphi exe 执行 RegEdit

    我有德尔福XE2项目 https stackoverflow com questions 16385844 registry node decription in win64在 Windows 注册表中写入一些值 我正在尝试在 Delphi
  • 已完成 Java 项目,现在创建 jar 或 .exe 文件(带有数据库)

    所以 我刚刚完成了一个小的java应用程序 带有数据库和其他东西 我使用了 Netbeans 和 Mysql 现在我想导出我的项目 这样我就可以在任何我想要的地方使用它 任何计算机 即使没有安装 Mysql 或 Java 所以 我尝试了一些
  • 从 setter 方法返回 *this 时,对象变得不可变

    我正在了解这个指针 它包含调用该函数的当前对象的地址 但是当我从成员函数返回当前对象时 我对这个指针有疑问 include
  • foreach、doParallel 和随机生成

    考虑使用并行的非常基本 且效率低下 的代码foreach用于生成随机值 cl lt makeCluster 2 registerDoParallel cl foreach i 1 100 dopar rnorm 1 它是否正确 或者是否需要
  • Laravel Collection 与 groupby、count 和 sum

    我正在努力让一个集合上的 groupby 工作 我还没有得到这个概念 我正在从玩家的表中提取结果集合 雄辩的集合将包含如下数据 player id gt 1 opposition id gt 10 result gt won points
  • 带进度条的可可文件上传

    就问题而言 这确实是一个双重打击 因为确实有两个独立的问题 但它们有点属于在一起 第一个问题 我将如何使用 POST 上传文件 我已经有一个包含文件内容的 NSData 对象 同时在NSProgressIndicator 就像可以做 byt
  • Laravel 5 - 图像验证不起作用

    我使用 Laravel 5 Validator 来验证头像 我的规则如下所示 validator Validator make Request all avatar gt required image max 1000 我正在尝试上传文件
  • 向 ggmap 添加一堆箭头

    我正在绘制一张地图 它应该覆盖来自数据集的多个 gt 400 箭头 其中每个箭头的起点和终点都有纬度 经度对 这是使用 dput 的数据子集 df lt structure list Lat c 49 34054 49 34068 49 3
  • 将轴刻度标签中的一个字符更改为斜体,同时保留多行[重复]

    这个问题在这里已经有答案了 I have a geom col from ggplot2 with labels for categorical axis ticks like below 该图是使用以下代码创建的 library tidy
  • 用java创建一个简单的规则引擎

    我正在探索用 Java 创建简单业务规则引擎的不同方法 我需要向客户展示一个简单的 Web 应用程序 让他配置一堆规则 规则库的示例可能如下所示 这是例子 IF PATIENT TYPE A AND ADMISSION TYPE O SEN
  • RTF 行结束转换出现意外结果

    If txtLog is a RichTextBox http msdn microsoft com en us library system windows forms richtextbox aspx控制 Dim text hi vbC
  • 如何计算给定三个点的抛物线的顶点

    我有三个 X Y 点 形成一条抛物线 我只需要计算经过这三个点的抛物线的顶点是什么 最好是一种快速的方法 因为我必须做很多这样的计算 询问科学家 网站提供这个答案 http www newton dep anl gov askasci ma
  • 如何打印 Node WebKit 版本

    如果我想检查哪个节点WebKit https github com nwjs nw js我正在使用的版本 我将如何从命令行执行此操作 要了解应用程序中node webkit的版本 以便确定某些API是否可用 可以使用 process ver
  • 循环访问 ARM 模板中的值

    我已经花了一天多的时间来解决 ARM 模板遇到的问题 并且似乎陷入困境 所以询问 SO 以防有人可以提供帮助 为了描述该问题 我有一个现有的 Azure Key Vault 设置 并希望向该资源组添加许多访问策略 出于参考目的 以下是用于添
  • 如何使文件系统缓存失效?

    我想测量 优化应用程序的 冷启动 启动性能 如果不实际重新启动就很难做到这一点 这显然不是一个理想的解决方案 有没有一种方法可以使整个系统的文件缓存无效 以便映射的页面访问实际上导致磁盘访问 以便我可以测量程序启动所需的时间 信息 我非常需
  • 如何使用 perl 将完整路径转换为相对路径?

    我在 Perl 程序的两个变量中拥有文件的完整路径和其父目录之一的完整路径 什么是计算文件相对于父目录的相对路径的安全方法 需要在 windows 和 unix 上工作 e g filePath full path to my file p