引用 Perl 散列中的散列键链

2024-01-09

我有一个像这样存储数据的哈希值

our %deviceSettings = (
  BB => {
          EUTRA => {
            DL => { CPC => "NORM", PLCI => { CID => 88 }, ULCPc => "NORM" },
            UL => {
                    REFSig  => { DSSHift => 2, GRPHopping => 1, SEQHopping => 1 },
                    SOFFset => 0,
                  },
          },
        },
  ...
);

我可以遍历结构并找到特定的键,比如说CID,并检索其值并将“路径”存储在数组中('BB', 'EUTRA', 'DL', 'PLCI').

我还可以显式设置一个值,如下所示

$deviceSettings_ref->{BB}{EUTRA}{DL}{PLCI}{CID} = 99

但我想知道如何使用发现的路径以编程方式设置值。


您可以使用占位符遍历哈希$hashref:

my $hashref = \%deviceSettings;

$hashref = $hashref->{$_} for qw(BB EUTRA DL PLCI);
$hashref->{CID} = 'My New Path';

use Data::Dump;
dd \%deviceSettings;

Outputs:

{
  BB => {
          EUTRA => {
            DL => { CPC => "NORM", PLCI => { CID => "My New Path" }, ULCPc => "NORM" },
            UL => {
                    REFSig  => { DSSHift => 2, GRPHopping => 1, SEQHopping => 1 },
                    SOFFset => 0,
                  },
          },
        },
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

引用 Perl 散列中的散列键链 的相关文章

  • 不区分大小写的关键字匹配

    我正在编写一种用于解析计算机语言的语法 可以与解析 Eyapp http search cpan org casiano Parse Eyapp 1 182 lib Parse Eyapp pod 这是一个 Perl 包 可以简化常规语言解
  • 在 Perl 中,如何从父进程向子进程发送消息(或信号),反之亦然?

    我正在编写一个管理多进程的程序 这就是我所做的 而且效果很好 但现在 我想将消息从子进程发送到父进程 反之亦然 从父进程到子进程 你知道最好的方法吗 你知道我所做的是否是我想要的正确方法 从子进程到父进程发送消息 信号或共享内存 反之亦然
  • 是否可以使用perl读取pdf文件中的文本?

    我想在 perl 中解析 pdf 文件中的文本 而不将 pdf 转换为任何其他格式 是否可以 是的你可以 看看CAM PDF http search cpan org dist CAM PDF 包裹 您可以使用此模块来提取文本 my pdf
  • 如何有效地计算 Perl 中覆盖给定范围的范围?

    我有一个大约 30k 范围的数据库 每个范围都作为一对起点和终点给出 12 80 34 60 34 9000 76 743 我想编写一个 Perl 子例程来表示一个范围 不是来自数据库 并返回数据库中完全 包含 给定范围的范围数 例如 如果
  • Perl - HTTP::代理捕获 XHR/JSON 通信

    网站http openbook etoro com main http openbook etoro com main 有一个实时提要 由 javascript 通过 XHR keep alive 请求生成 并以 gzip 压缩 JSON
  • Perl Mongo 查找对象 ID

    你会认为这是一件简单的事情 我有一个集合中的对象 ID 列表 我想根据对象 ID 获取单个记录 谷歌搜索过 但没有任何帮助 所以我有对象 ID 5106c7703abc120a04070b34 my client MongoDB Mongo
  • WWW::Mechanize::Firefox - 如何打开多个选项卡

    我想打开两个单独的选项卡并在 Firefox 中保持打开状态 我在用WWW Mechanize Firefox 请找到下面的代码 usr bin perl w use strict use WWW Mechanize Firefox my
  • 调用 Perl 子程序时使用 & 符号和括号

    usr bin perl sub t print in t n print n s sub s print in s n print n t 1 2 print out n print n Output in t 1 2 in s 1 2
  • 多个与单个 Catalyst 应用程序

    我有多个作为 FCGI 运行的 Catalyst 应用程序 将它们整合为具有多个控制器的单个控制器是否有好处 Thanks Simone 内存 大概吧 我认为每台服务器至少要保留 15MB 左右 因此如果您在 3 台服务器上运行 3 个应用
  • 检测 perl 中声明的包变量

    Given package main our f sub f sub g 1 我怎样才能确定 f 但不是 g 已宣布 即兴的 我以为 main g SCALAR 可能是未定义的 但它是一个善意标量参考值 背景 我想将一个变量导入到main
  • 使用 Getopt::Long 解析参数的最简洁方法

    我使用 GetOpt 来解析命令行参数 我想添加一个新选项 multi 它应该得到一个如下所示的字符串 key1 abc key2 123 key3 xwz 我不知道用户想要提供多少个自定义密钥 但他可以提供 minimax5键 另外 我想
  • 使用 Perl 分割大文本文件

    我必须将一个 1 8Tb 的大文本文件分成两部分 我只需要文件的后半部分 该文件有 n作为记录分隔符 I tried perl ne print if gt line to start from test txt gt result txt
  • 从日志尾部提取匹配行后退出

    我使用范围运算符来提取日志文件的一部分 例如 tail F logfile perl ne print if b d 现在 一旦提取的部分匹配 我就尝试退出该过程 我尝试过 tail F logfile perl ne print if b
  • 将参数传递给调试器中的 perl 文件并在系统执行的文件中设置断点

    因此 我使用 perl d file pl 在 perl 调试器中运行一个文件 但 file pl 也应该接受参数 如何向 file pl 提供参数 还有一个问题 file pl 中有这一行 system file2 pl 如果 file2
  • Bash - 在 perl 正则表达式中使用变量以及匹配组

    这是我在 stackoverflow 上的第一篇文章 如果我错过了一些重要的内容 请原谅我 我目前遇到以下问题 目标是根据我准备的文件列表动态替换端口号find 这些文件中的所有端口均以数字 4 开头 有 5 位数字 现在是棘手的部分 我只
  • Perl 导入到我的所有包中?

    我倾向于经常使用 Data Dumper 最终我的 pl 代码中每个包的顶部都有以下样板 use strict use warnings use Data Dumper Data Dumper Deparse 1 Data Dumper P
  • MIME::Lite - 无法发送邮件 [smtp.gmail.com 不支持 SMTP auth() 命令]

    use MIME Lite use warnings use MIME Base64 use Authen SASL use MIME Lite use MIME Base64 use Authen SASL use warnings us
  • 我怎样才能挂钩 Perl 的 use/require 以便抛出异常?

    如果文件已经加载 是否可以挂载到use require所以我可以抛出异常 在我即将到来的nextgen blacklist http github com EvanCarroll nextgen blob blacklist lib nex
  • 如何对 Data::Dumper 的输出进行排序?

    我想转储对象和散列的值 但它总是乱序打印键 如何按 递归 排序顺序转储键 use Data Dumper print Dumper obj Set Data Dumper Sortkeys 1获取 Perl 的默认排序顺序 如果要自定义顺序
  • Perl Parallel::Forkmanager 不允许收集变量值

    也许因为子进程不知道我的散列 请参阅下面的代码 散列 输出没有收集任何内容 除了写入 tmp 文件之外 还有其他方法来收集该值吗 foreach Item AllItems pid pm gt start Item and next Tem

随机推荐

  • 多个附件 django 电子邮件

    您好 我尝试发送带有多个附件的电子邮件 如 pdf xml 等 但出现错误 list object has no attribute rfind 这是我的代码 from security views import SendEmail Env
  • 我们如何显示来自 Picasa java API 的照片?

    好吧 这似乎是一个愚蠢的问题 因为我们有this http code google com intl en apis picasaweb docs 2 0 developers guide java html 但是 到目前为止 我只能使用以
  • 传递 MethodHandles.lookup().lookupClass() 与传递 Class 到 getLogger 方法

    我最近遇到了一个声明如下的记录器 private static final Logger logger LoggerFactory getLogger MethodHandles lookup lookupClass 与像这样 正常 声明相
  • Symfony2.1 - 使用 DataTransformer 时选项“em”不存在

    我在用this http symfony com doc master cookbook form data transformers html在 Symfon 2 1 中添加数据转换器的食谱食谱 但我收到以下错误 The option e
  • _GLIBCXX_USE_CXX11_ABI 在 RHEL6 和 RHEL7 上禁用?

    我在 RHEL6 和 RHEL7 上安装了 gcc 5 2 1 看起来 GLIBCXX USE CXX11 ABI 被禁用了 即使我手动运行也不起作用 D GLIBCXX USE CXX11 ABI 1 std c 14 这意味着我不会获得
  • 从 django 循环中提取值

    我有一个 Django 应用程序 我在模板中使用以下内容 load mptt tags ul recursetree nodes li node name if not node is leaf node ul class children
  • 如何运行量角器?

    我对量角器很陌生 我在 Windows 命令行中运行它 我按照这个教程进行操作https github com angular protractor blob master docs getting started md https git
  • IBM Worklight - 在服务器端包含 JavaScript 库

    我正在使用 IBM Worklight 构建移动应用程序 在适配器中 我需要使用第三方 JavaScript 文件提供的一些功能 我想知道是否可以在服务器上包含这样的文件 如果不是 还有什么替代方案 目前无法在适配器代码中包含外部 Java
  • Spring REST API 中的 Json 模式验证

    我正在使用 Spring Boot 和 jackson module jsonSchema 构建 REST API https github com FasterXML jackson module jsonSchema https git
  • 为具有相同类的元素添加点击事件监听器

    我有一个删除 id 的列表视图 我想为具有特定类的所有元素添加一个侦听器 并执行确认警报 我的问题是 这似乎只将侦听器添加到它找到的类的第一个元素 我尝试使用querySelectorAll但没有成功 var deleteLink docu
  • 将命令行 tf checkin 链接到工作项

    我想通过以下方式将文件提交到 TFS 存储库tf命令行工具并将提交链接到 TFS 工作项 我该怎么做 我已经提交了我的文件 但没有指向工作项目的链接 我的命令添加一个新文件并提交更改 gt tf add foo cpp gt tf chec
  • 如何使用 Zeppelin 访问 aws spark-ec2 集群和 s3 存储桶

    我有一个通过 Spark ec2 脚本设置的 aws ec2 集群 我想配置 Zeppelin 以便我可以在 Zeppelin 本地编写 scala 代码并在集群上运行它 通过 master 此外 我希望能够访问我的 s3 存储桶 我跟着本
  • 无法加载文件或程序集>'System.Windows,版本=2.0.5.0

    首次加载 Silverlight 应用程序时 我不断收到此错误 无法加载文件或程序集 系统 Windows 版本 2 0 5 0 文化 中立 PublicKeyToken 7cec85d7bea7798e 或 它的依赖项之一 系统 找不到指
  • 我应该记录类似函数签名的参数吗?

    我有一些辅助函数 除了第一个参数之外 它们采用与核心函数相同的参数 这些参数被完整记录在核心函数中 我是否也应该将此文档复制粘贴到辅助函数中 或者只是指向核心文档 重要的是 我主要希望将我的 API 参考作为 Sphinx 生成的 HTML
  • 获取列表框中所选项目的文本

    我试图在消息框中显示 listBox1 的选定项目 代码如下 int index string item foreach int i in listBox1 SelectedIndices index listBox1 SelectedIn
  • 使用 Spring 的 @RequestBody 并随后读取 HttpServletRequest.getInputStream()

    我正在使用 Spring 将请求的 JSON POST 数据映射到一个对象中 RequestBody注释和MappingJacksonHttpMessageConverter 但之后我想读取数据String表单进行一些额外的身份验证 但是当
  • 在 Haskell 代数数据类型中进行选择

    当键入X定义为 data X X sVal String I iVal Int B bVal Bool 我想要Int里面一个X值 如果有则为一 否则为零 returnInt X gt Int 我如何确定是哪种类型X论据returnInt i
  • 使视频视图中的视频加载速度更快

    我通过 URL 在视频视图中播放视频 一切正常 甚至视频也可以播放 但唯一的问题是视频需要近 10 秒才能开始播放 这可能会让用户感到厌烦 我尝试了不同的 URL 结果是一样的 视频是 360p 时长 6 秒 是默认的媒体播放器速度慢吗 我
  • 输入文本以跨越 Selenium/Python

    我尝试输入要跨越的文本来代替 示例文本 我正在使用 Selenium Python 但无法使用 send keys 方法来做到这一点 您还有其他想法吗 我该怎么做 我附上了 HTML 屏幕截图和应用程序屏幕截图 我尝试使用该代码 但不起作用
  • 引用 Perl 散列中的散列键链

    我有一个像这样存储数据的哈希值 our deviceSettings BB gt EUTRA gt DL gt CPC gt NORM PLCI gt CID gt 88 ULCPc gt NORM UL gt REFSig gt DSSH