有没有办法从 XS 访问 perl 中的特殊令牌?

2024-02-04

在 Perl 中,特殊标记如__PACKAGE__, __SUB__, __FILE__, __LINE__存在并可从脚本中获取。

我可能会得到的价值__PACKAGE__ from XS as HvNAME( PL_currstash ), 我想。
但如何访问别人呢?

是否有特殊的接口可以访问所有这些XS? Like: CTX->package, CTX->sub etc.


您可以在其中一一查找toke.c对于编译时值:

  • __PACKAGE__ => HvNAME(PL_curstash) or PL_curstname
  • __FILE__ => CopFILE(PL_curcop)(在编译时)
  • __LINE__ => CopLINE(PL_curcop)(在编译时)
  • __SUB__ => PL_compcv

如果您在运行时需要它们,请查看上下文中可用的各种数据字段caller_cx和当前子(cv)。没有像 parrot 或 perl6 那样传递上下文结构,而是一堆活动上下文块。

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

有没有办法从 XS 访问 perl 中的特殊令牌? 的相关文章

  • 零垫重命名,例如图片 (2).jpg -> 图片 (002).jpg

    我需要按照标题在所有子文件夹中解释的方式重命名所有图像 我正在考虑用正则表达式提取括号内的数字 然后重命名它 搜索周围我看到有类似的工具rename and mmv但我无法让他们重新命名 jpg 我将不胜感激任何解决我的问题的建议 顺便说一
  • 如何在 Perl 中将多个哈希值合并为一个哈希值?

    在 Perl 中 我如何得到这个 VAR1 999 gt 998 gt 908 906 0 998 907 VAR1 999 gt 991 gt 913 920 918 998 916 919 917 915 912 914 VAR1 99
  • “get”在 Perl 中不起作用

    我是 Perl 新手 在过去的几天里 我制作了一些简单的脚本 通过 get 将网站的源代码保存到我的计算机上 他们做了他们应该做的事情 但不会获得论坛网站的内容 非论坛网站工作得很好 知道发生了什么事吗 这是问题块 my url http
  • 单台机器最快的 Perl IPC/消息队列是多少?

    我正在开发一个 主要 Perl 项目 并希望使用消息队列来相互隔离进程 我有这样的工作流程 输入 gt 接收器 gt 处理器 gt 输出 我需要每秒处理数百笔交易 所以速度是我最大的动力 对于这种类型的设置来说 最快的消息队列系统是什么 我
  • 无法在 Mac 上安装 DBD::mysql

    第一次发帖 格式可能不太对 请见谅 我一直在尝试使用 cpan 在 macOS Catalina 上安装 DBD mysql 但尚未成功 我使用了perlbrew 并尝试了mysql和mariaDB 但仍然没有成功 另外 我在网上研究了不同
  • 使用 unix ksh shell 脚本或 perl 脚本监视文件夹中的新文件并触发 perl 脚本

    我已经在谷歌搜索和溢出了一段时间 但找不到任何可用的东西 我需要一个脚本来监视公共文件夹并在创建新文件时触发 然后将文件移动到私有位置 我有一个 samba 共享文件夹 exam ple 在 UNIX 上映射到X 在窗户上 在某些操作中 t
  • 由于握手问题,PerL SSL 连接尝试失败

    我希望有人可以提供帮助 我正在使用 nagios 插件 check ilo2 health 该插件在我们的 OpenSuSE 系统上运行良好 但新的 Ubuntu 14 04 系统有问题 删除 nagios 的东西并运行 perl 基本上是
  • Perl 中的“@_”有什么作用?

    我浏览了一些我在 Perl 类中编写的代码 我注意到了这一点 my string my stringarray split string 我想知道两件事 变量位于括号中的第一行 这是声明多个变量时所做的事情 如果我删除它们 它仍然可以正常工
  • perlbrew 可以在 Windows 上运行吗?

    使用 ActiveState 5 8 8Windows XP http en wikipedia org wiki Windows XP 我想安装更新的 Perl 进行测试 迁移 有一天 我们将不再以为自己只能使用一台计算机 当我想测试这类
  • 匹配有限自然数列

    我怎样才能匹配有限自然数 http en wikipedia org wiki Natural number正则表达式系列 所以 要求是 字符串包含数字和空格 作为分隔符 第一个数字是1 每个数字 第一个数字除外 等于前一个数字 1 应该是
  • Perl LWP::简单 HTTPS 错误

    我正在尝试获取网站的内容并打印 该代码按照我希望的方式在常规 HTTP 网站上运行 但它不适用于 HTTPS 我已经查找了此问题的修复程序 但它们在我的程序中不起作用 这是我目前拥有的代码 usr bin perl use strict u
  • 真实设备中的 Android strace

    我有以下情况 我想监控Android手机上的系统调用 所以 我编写了一个脚本来做到这一点 使用 Android 模拟器可以完美地工作 将应用程序的痕迹写入我的 Ubuntu 上的特定文件中 问题是当我连接一个真实的手机来分析它时 它在结果文
  • 如何在没有循环的情况下初始化哈希中的值?

    我正在尝试找出一种无需经过循环即可初始化哈希的方法 我希望使用切片来实现这一点 但它似乎没有产生预期的结果 考虑以下代码 usr bin perl use Data Dumper my hash hash currency symbol B
  • 如何比较两个文件中的多列并在找​​到匹配时从另一列检索相应的值

    我有两个文件 File1 txt 和 File2 txt 我需要将 File1 中的三列 1 2 和 3 分别与 File2 的 4 5 和 6 进行比较 如果找到匹配项 我想从 File2 的第 2 列中检索相应的值并将其粘贴到输出中 T
  • 为什么子程序需要在声明其中使用的变量之后编写?

    假设我们有这段代码 为什么它会因显式包名称错误而失败 因为该函数仅在声明后才被调用 value use strict use warnings sub print value print n value my value 2 print v
  • 如何从 R 运行带有特定模块的 perl 脚本?

    我可以从终端运行 perl 脚本 myperlscript pl 没有任何问题 但是 如果我尝试从 RStudio 中运行相同的 perl 脚本 则会出现以下错误 command lt myperlscript pl outputfile
  • Perl 的 caller() 函数返回错误的行号

    我在 Perl 5 10 1 上运行了以下脚本 usr bin perl use strict use warnings foreach my x 0 x lt 1 x Line 5 print line Line 6 sub print
  • 使用包管理器时如何管理 Perl 模块?

    A 最近的问题 https stackoverflow com questions 397817 unable to find perl modules in intrepid ibex ubuntu这让我开始思考 在我尝试过的大多数 Li
  • 打包 Perl 应用程序,以便它可以在 Perl 的默认前缀之外工作

    我正在使用 Module Build 尽管我在构建环境上很灵活 来打包我正在编写的一些 Perl 软件 供我工作的内部使用 它包括一些脚本和一些辅助模块 我的计划是这样你就可以指定任何你想要的前缀 即perl默认值之外的东西 INC 在构建
  • 在 Perl 中如何用空格填充字符串的一部分?

    你更喜欢哪个版本 usr bin env perl use warnings use strict use 5 010 my p 7 33 my prompt my key very important text my value Hell

随机推荐

  • CMake OpenCV 无法指定链接库

    我正在尝试在 Ubuntu 上运行用 C 编写的 OpenCV 程序 我跟着this http docs opencv org doc tutorials introduction linux install linux install h
  • /assets/css 中的某些文件未找到 [Playframework]

    您好 我遇到了未解决的依赖关系的问题 sbt ResolveException 未解决的依赖关系 play sbt plugin 2 2 0 未找到 然后我在这里找到了解决方案 将项目升级到 Play Framework 2 2 0 版本
  • hibernate集合-无效的列索引

    我在 hibernate 和 JPA 中创建了一个父类和子类 当我尝试保留该类时 我收到一个 SQL 异常 指出 列索引无效 这是父类 Entity Table name vnd base file format public class
  • Three.js:创建直三棱柱

    我正在尝试创建一个直角三棱柱 到目前为止 这是我的代码 var triangleGeometry new THREE Geometry triangleGeometry vertices push new THREE Vector3 1 0
  • React JS - onChange 触发两次

    当我使用react image uploader上传图像时 onchange会触发两次 所以它尝试将图像上传到后端两次 这是我的处理方式 user uploads image to app
  • Kotlin Mockk 错误:verify { ... } 块内缺少调用

    我已经读到了一些与此错误消息或类似错误消息有关的问题 每个 也会出现此问题 但没有一个问题能让我获得成功结果 关于如何让它发挥作用有什么提示或建议吗 这是我的设置和单元测试本身 compileSdkVersion 29 defaultCon
  • 如何知道 GWT ScrollPanel 中正在显示哪个元素

    关于 GWT ScrollPanel 的问题 有没有办法确定 ScrollPanel 中正在显示哪个子元素 当然 ScrollPanel包含具有HTML对象的DecoratorPanel 下面是执行该作业的 GWT 方法 它是从上面建议的
  • 如何将 RUNAS /NETONLY 功能构建到 (C#/.NET/WinForms) 程序中?

    我们的工作站不是 SQL Server 所在域的成员 它们实际上根本不在域中 不要问 当我们使用 SSMS 或任何其他方式连接到 SQL Server 时 我们将 RUNAS NETONLY 与 DOMAIN user 一起使用 然后我们输
  • 如何检查我的计算机上是否打开了另一个应用程序窗口(即遍历所有打开的窗口)?

    我有一个应用程序 可以将一系列文本文件写入用户计算机上的文件夹中 然后 它会提示他们是否要打开该文件夹以查看所有文件 我使用 System Diagnostics Process Start 来执行此操作并且效果很好 但是 如果已经有一个打
  • 如何在 anaconda 中升级 scikit-learn 包

    我正在尝试将 scikit learn 包从 0 16 升级到 0 17 为此 我尝试使用此网站上的二进制文件 http www lfd uci edu gohlke pythonlibs scikit learn http www lfd
  • 如何通过AWS lambda在python中创建密码加密的zip文件

    我正在尝试通过在 python 3 9 上运行的 lambda 创建受密码保护的 zip 文件 我尝试过使用 pyminizip 和 pyzipper 但两个库都遇到错误 对于 pyminizip 我不断遇到Unable to import
  • 没有 JIT 的 Android 设备

    我正在关注性能技巧 http developer android com training articles perf tips html通过开发者网站 其中提到了没有 JIT 的 Android 设备 但我搜索了无 jit 设备 但找不到
  • POST 方法、Ajax 和安全性?

    我使用 Ajax jQuery 和 POST 方法来更新数据库中的数据 我执行以下操作 从表单获取数据 user id entry id content 将它们发送到将处理数据的 URL 如果数据有效 我们会将其记录在我们的数据库中 我不知
  • 如何在android汉堡菜单图标上实现徽章计数器[重复]

    这个问题在这里已经有答案了 我正在尝试在汉堡菜单图标 即不是其他菜单图标 上实现计数器徽章 类似于 eBay 应用程序 如在 有人研究过这个吗 试图找出尽可能最干净的方法 做起来很简单Toolbar Widget您可以按照下面的示例来实现
  • 使用 PHP 清理 URL [重复]

    这个问题在这里已经有答案了 所以我试图在 PHP 中构建一个干净的 url 系统来更改这样的 URLhttp example com index php projects 05 to http example com projects 05
  • VS/NuGet 如何决定创建 csproj 引用以及差异意味着什么?

    当我安装 NuGet 包时 它通常会使用新引用更新我的 proj 文件 如下所示
  • 在无限一维图中寻找洞的算法

    一头牛站在无边无际的栅栏前 另一边是草地 牛想要到达这片草地 沿着栅栏的某个地方有一个洞 牛可以通过这个洞到达另一边 从牛到洞的距离 d 具有与之相关的概率分布 f d 即洞距牛 k 步的概率由 f k 给出 请注意 我们认为所有距离都是离
  • 如何将我的 Facebook 页面中的最新帖子显示到我的网站

    我在 Facebook 上有一个页面 我想在我的网站页面上显示我的提要 墙上的最新 5 个帖子 这个怎么做 我找到了这个解决方案 很简单 https developers facebook com docs reference plugin
  • OS X El Capitan 中的“受限”文件夹/文件

    从 OS X Yosemite 升级到 OS X El Capitan Developer Preview 后 我尝试编辑 系统 库 LaunchDaemons ssh plist将默认 SSH 端口更改为自定义端口 这是我几年来一直使用的
  • 有没有办法从 XS 访问 perl 中的特殊令牌?

    在 Perl 中 特殊标记如 PACKAGE SUB FILE LINE 存在并可从脚本中获取 我可能会得到的价值 PACKAGE from XS as HvNAME PL currstash 我想 但如何访问别人呢 是否有特殊的接口可以访