有没有办法从 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 中的特殊令牌? 的相关文章

  • 无法在 Perl 中找到 DBI.pm 模块

    我使用的是 CentOS 并且已经安装了 Perl 5 20 并且默认情况下存在 Perl 5 10 我正在使用 Perl 5 20 版本来执行 Perl 代码 我尝试使用 DBI 模块并收到此错误 root localhost perl
  • 如何在 Perl 中修改 Windows NTFS 权限?

    我在 Windows Server 2003 上使用 ActiveState Perl 我想在 Windows NTFS 分区上创建一个目录 然后授予 Windows NT 安全组对该文件夹的读取访问权限 这在 Perl 中可能吗 我必须使
  • 为什么 Perl 的 LWP 给我的编码与原始网站不同?

    可以说我有这个代码 use strict use LWP qw get my content get http www msn co il print STDERR content 错误日志显示类似 xd7 x9c xd7 x94 xd7
  • Perl 脚本的 shebang 行应该使用什么?

    哪一个用作 Perl 脚本的 shebang 行更好或更快 perl perl exe fullpath perl perl exe partialpath perl perl exe 并且 当使用 perl 当它在特定系统上运行时 我如何
  • Perl:模板工具包的替代品

    我使用模板工具包来扩展现有的领域特定语言 verilog 已经超过 3 年了 虽然总的来说我对此感到满意 但主要的刺激性是 当出现语法 undef 错误时 错误消息不包含用于调试错误的正确行号信息 例如我会收到一条消息 指示 0 未定义 因
  • Java 相当于 Perl 的 s/// 运算符?

    我有一些代码正在从 Perl 转换为 Java 它大量使用了正则表达式 包括s 操作员 我已经使用 Perl 很长时间了 但仍然习惯 Java 的做事方式 特别是 字符串似乎更难使用 有谁知道或有一个完全实现的Java函数s 这样它就可以处
  • 如何只读取文件的第一行

    我已经用谷歌搜索了一段时间 但我找不到只读取文件第一行的函数 我需要读取文本文件的第一行并从中提取日期 Perl 新手 open my file lt filename txt my firstLine lt file gt close f
  • Perl 正则表达式匹配模式的多个实例并替换

    我有一个看起来像这样的字符串 abc 1 2 3 something here foo 10 6 34 somethingelse here def 1 2 another 我想将此字符串拆分为一个数组 其中包含 abc 1 2 3 som
  • 是否有与 pdl2(或 Devel::REPL)中的 perl 调试器“x”等效的东西?

    我在用pdl2 the PDL http p3rl org PDLshell 也作为我的默认 Perl 交互式 shell 它加载所有不错的插件Devel REPL http search cpan org perldoc Devel 3a
  • 为什么这个特定 Perl 脚本的线程版本比非线程版本慢 200 倍?

    A 推介会 http migo sixbit org papers Perl Threads by 米哈埃尔 戈伊克曼 http migo sixbit org 2003 年 Perl 会议上的文档包含两个质数查找脚本的示例 One htt
  • 如何使用 Perl 和正则表达式将 SQL 文档转换为 ColdFusion 脚本?

    我需要将 SQL 语句文档转换为 ColdFusion 文档 我对正则表达式只有一点经验 而且我是 Perl 超级新手 我昨天刚刚自学了它的基础知识 所以我可以完成这项任务 我正在尝试用 Perl 编写的脚本匹配和替换模式 该脚本保存为 B
  • 我可以在 VIM 或 Perl 中替换单个正则表达式中的多个项目吗?

    假设我有字符串 The Quick Brown Fox Jumps Over the Lazy Dog 我可以用一个正则表达式将其更改为 The Slow Brown Fox Jumps Over the Energy Dog 吗 目前 我
  • 在 Perl 中实现 CLI 工具的最佳实践是什么?

    我正在使用 Perl 实现 CLI 工具 我们可以遵循哪些最佳实践 作为前言 我花了 3 年时间为一家大型金融公司设计并实现了一个相当复杂的 Perl 命令行工具集 以下想法基本上是我们团队设计指南的一部分 用户界面 命令行选项 允许尽可能
  • 如何强制 Perl 按需重新编译使用“/o”编译的正则表达式?

    技术问题 给定一个正则表达式 my regEx qr whatever myVar oxi Notice o for compile once 强制重新编译的最有效方法是什么一经请求 例如 当我从程序逻辑中知道 myVar值改变 而不下降
  • mod_perl 无法看到 /tmp 中的文件

    我有一些 mod perl 代码试图访问 tmp 下的文件 但它抛出 没有这样的文件或目录 错误 我在代码中添加了一个 ls al tmp 来查看 Perl 在目录中看到的内容 它只给了我 和 drwxrwxrwt 2 root root
  • 如何在 Perl 中运行匿名函数?

    sub print 1 sub print 1 我尝试了各种方法 都是错误的 sub 将为您提供指向该函数的指针 因此您必须通过引用调用 sub print Hello world n gt 另一种简单的方法 如所指出的布拉戈维斯特 布尤克
  • 使用 ActivePerl 时为什么必须指定带有备份扩展的 -i 开关?

    除非我使用备份扩展指定它们 否则我无法就地编辑在 ActivePerl 下运行的 Perl 单行代码 C gt perl i ape splice F 2 0 q inserted text qq F n file1 txt Can t d
  • api网关CORS设置

    我正在尝试在部署脚本中使用 aws cli 从命令行设置 aws CORS 我使用以下 perl to shell 命令创建了 POST 资源 我正在尝试将集成响应设置为 就像启用核心一样 aws apigateway put method
  • “get”在 Perl 中不起作用

    我是 Perl 新手 在过去的几天里 我制作了一些简单的脚本 通过 get 将网站的源代码保存到我的计算机上 他们做了他们应该做的事情 但不会获得论坛网站的内容 非论坛网站工作得很好 知道发生了什么事吗 这是问题块 my url http
  • Emacs cperl - 常量块中的缩进

    我正在运行基于 GNU Emacs 24 3 50 2 的 Aquamacs 3 0a cperl 版本是 6 2 当我编辑 Perl 常量块时 我得到了我不想要的额外缩进 use constant ONE gt 1 TWO gt 2 TH

随机推荐

  • 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 我想 但如何访问别人呢 是否有特殊的接口可以访