如何在与脚本相同的目录中找到 Perl 模块

2024-01-18

现在 Perl 的最新版本已经删除了“.”。来自@INC,我对模块文件位置的最佳实践感到好奇。到目前为止,与我们网站上每个应用程序关联的 *.pm 文件与脚本位于同一目录中。我认为这会造成安全漏洞。

我们没有@INC 中其余目录的写权限。

我们可以将 pm 文件保留在原处,然后添加use lib ".";我们所有现有的脚本,但这难道不会保留安全漏洞吗?

关于如何根据这一新发展最好地组织我们的 Perl 脚本及其相关模块,有什么建议吗?


不,将模块放置在与脚本相同的目录中并不是安全漏洞。假设当前工作目录(.)是脚本的目录是一个错误和安全漏洞。

.从未保证是脚本所在的目录。 (事实上​​,人们一次又一次地发现. to be /在 CGI 脚本中。)只需继续使用您应该已经使用的内容即可:

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

如何在与脚本相同的目录中找到 Perl 模块 的相关文章

  • Internet Explorer 8 + 放气

    我有一个非常奇怪的问题 我真的希望有人能给出答案 因为我不知道还能去哪里问 我正在用 C 编写一个 cgi 应用程序 它由 Apache 执行并输出 HTML 代码 我自己在 C 应用程序中压缩 HTML 输出 因为我的 Web 主机由于某
  • 指定 gfortran 应该在其中查找模块的目录

    我目前基于模块来编译程序 例如主程序foo这取决于模块bar 如下 gfortran c bar f90 gfortran o foo exe foo f90 bar o 当foo f90 and bar f90位于同一目录中 如何指定 g
  • 如何使用 Perl 从 NCBI 获取 FASTA 核苷酸格式的基因特征?

    我可以手动下载 FASTA 文件 如下所示 gt lcl CR543861 1 gene 1 ATGCTTTGGACA gt lcl CR543861 1 gene 2 GTGCGACTAAAA 通过单击 发送到 并选择 基因特征 FAST
  • 多个与单个 Catalyst 应用程序

    我有多个作为 FCGI 运行的 Catalyst 应用程序 将它们整合为具有多个控制器的单个控制器是否有好处 Thanks Simone 内存 大概吧 我认为每台服务器至少要保留 15MB 左右 因此如果您在 3 台服务器上运行 3 个应用
  • Perl 中字符串之间的字符匹配计数

    我有一个字符串 例如字符串 1 需要与另一个字符串 字符串 2 匹配 两个字符串的长度相同并且不区分大小写 我想打印两个字符串之间的字符匹配数 E g String 1 stranger String 2 strangem Match co
  • Perl 的 grep 函数如何与正则表达式一起使用?

    以下 grep 函数如何工作 什么作用 0o1Iil do chars grep 0o1Iil 0 9 A Z a z use Data Dumper print Dumper chars 在 chars中生成以下内容 VAR1 0 VAR
  • Prism / MEF:如何在不硬编码区域名称的情况下注册ViewWithRegion

    我们正在构建一个 WPF Prism 应用程序 我们有不同的开发人员从事不同的模块项目 并且多个模块被注入到主应用程序外壳中 主应用程序也是一个单独的项目 我们还希望能够在不同的应用程序中使用这些模块 我们不希望在每个应用程序中都使用相同的
  • Perl 导入到我的所有包中?

    我倾向于经常使用 Data Dumper 最终我的 pl 代码中每个包的顶部都有以下样板 use strict use warnings use Data Dumper Data Dumper Deparse 1 Data Dumper P
  • 如何在 perl 程序中查找打开的全局文件句柄

    我刚刚发现一个问题 我必须关闭所有打开的文件句柄才能让我的 Apache cgi 脚本继续 我将问题追溯到 Parse RecDescent usr bin env perl use strict use warnings use feat
  • 如何在正则表达式中区分数字和ip地址?

    例如 如果我们查看 5 56 和 183 55 0 144 基本上 当你做这样的事情时 d d 它匹配 5 56 189 55 和 0 144 有没有办法通过正则表达式仅匹配数字而不匹配 ip 地址的部分 我尝试使用前瞻 但我不知道它应该是
  • 读入模板文件,使用用户输入填充并生成新文件

    我正在尝试读取如下所示的模板配置文件 template config path to speedseq package binary directory SPEEDSEQ BIN DIR usr local packages Sequenc
  • 如何为自定义 Perl 模块选择一个不与内置或 CPAN 包名称冲突的包名称?

    我已阅读模块上的 perldoc http perldoc perl org perlmod html 但我没有看到关于命名包的建议 这样它就不会与内置或 CPAN 模块 包名称冲突 过去 为了开发本地Session pm模块 我使用我公司
  • Node.js Async/Await 模块导出 [重复]

    这个问题在这里已经有答案了 我对模块创建有点陌生 想知道 module exports 并等待异步函数 例如 mongo connect 函数 完成并导出结果 在模块中使用 async await 正确定义了变量 但是当尝试通过要求模块来记
  • 如何编写 Perl 脚本来使用 curl 处理 URL?

    我有一个非常简单的任务 我有一个 crontab 每小时运行一个脚本 该脚本旨在简单地处理 URL 这就是我所拥有的 这不起作用 我收到语法错误 usr bin perl curl http domain com page html 我已经
  • 向用户提示多个问题(是/否和文件名输入)

    我想问用户多个问题 我有两种类型的问题 是 否或文件名输入 我不知道如何将这一切放入一个好的if结构 我不确定是否也应该使用 else 语句 有人可以帮我们解决这个问题吗 这是我到目前为止所拥有的 print Do you want to
  • 如何正确导入主代码和模块中同时使用的模块?

    假设我有一个主脚本 main py 它导入另一个 python 文件import coolfunctions另一个 import chores 现在 假设 Coolfunctions 也使用家务活中的东西 因此我声明import chore
  • 如何将 Perl 转换为 C?

    有没有可用的工具可以将 Perl 源代码转换为 C 源代码 什么平台都可以 对此的规范答案是MJD 的 为什么不将 Perl 翻译成 C http www perl com pub a 2001 06 27 ctoperl html
  • Magento:如何覆盖本地模块中的模型

    我试图在本地文件夹中覆盖本地文件夹中的模块 但我不知道是否可能 这就是我所做的 我创建了 local Mycompany Modulename Model Model php 我想覆盖 local Othercompany Modulena
  • 无法从日志文件中提取特定信息

    我这里有日志文件我想提取以下信息 想要提取十六进制值 如果该行有第二个括号 0 9 想要提取十进制值 首先转换为十六进制 然后提取 9 gt 0x09 想要提取负值 25 先转换为十六进制然后提取 例如 25 gt FFE7 gt 想要提取
  • Perl 语言的目标是在运行时生成快速的程序吗?

    最近有朋友告诉我 看 Perl 从来就不是为了快而设计的 真的吗 我能找到的相关信息是来自维基百科 http en wikipedia org wiki Perl Overview 该语言旨在实用 易于使用 高效 完整 而不是美观 微小 优

随机推荐