如何将数组存储为 Perl 散列中的值?

2023-12-09

我正在尝试在 Perl 中创建一个散列,其值是数组。就像是:

my @array = split(/;/, '1;2');
my $hash = {'a' => @array};

令人惊讶的是,这个报告(使用 Data::Dumper):

$VAR1 = {
      'a' => '1',
      '2' => undef
    };

这一页给出了一个通过使用方括号定义数组来将数组存储在哈希中的示例,例如:

my $hash = {'a' => ['1', '2']};

这可行,但我是通过调用来获取我的数组的split方法。方括号与括号在定义数组时有何神奇之处,以及如何将“括号数组”转换为“方括号”数组?


哈希(和数组)元素的值是标量,因此不能将数组存储到哈希中。

以下都是等效的:

my $hash = { a => @array };
my $hash = { 'a', @array };
my $hash = { 'a', $array[0], $array[1] };
my $hash = { a => $array[0], $array[1] => () };

常见的解决方案是存储对数组的引用。

my @array = split(/;/, '1;2');
my $hash = { a => \@array };   # my $hash = { a => [ '1', '2' ] };

[ LIST ]类似地创建一个数组,分配LIST到它,然后返回对数组的引用。

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

如何将数组存储为 Perl 散列中的值? 的相关文章

随机推荐

  • Oracle BIND 变量中的多个值的声明

    我正在尝试将大约 3000 个值的多个值传递给 Oracle SQL PLUS 命令提示符中的 BIND 变量 例如 SELECT JOB FROM EMP WHERE JOB IN JOB bind variable value 我想看到
  • scrapy的多重嵌套请求

    我尝试废弃 www flightradar24 com 网站上的一些飞机时刻表信息用于研究项目 我想要获取的 json 文件的层次结构是这样的 Object ID country link name airports airport0 co
  • 在分页 jQuery 数据表的最后一页上显示一行

    我想在单击数据表的最后一页时使隐藏行可见 我该如何做到这一点 我找不到获取Jquery Datatable分页的当前页码和最后页码的方法 这就是我想做的 但我不知道如何获取当前页面和最后一页 paginate button click fu
  • 在 Symbian 上如何将文本视图的内容保存到文件中?

    在 Symbian 上如何将文本视图的内容保存到文件中 将其存储在RMS here是例子
  • 如何关闭 CodeLens 参考

    我最近安装了 Visual Studio 2013 Ultimate 现在 如您所知 在所有方法之上都有这个 n 个引用 当我转到 CodeLens 选项时 我无法禁用此功能 因为该复选框呈灰色 那么我该如何禁用它呢 我发现的唯一解决方法是
  • zip 文件夹及其子文件夹内的文件列表

    我正在寻找一种方法来获取 zip 文件内的文件列表 我创建了一种方法来获取目录中的文件列表 但我也在寻找一种方法来获取 zip 中的文件 而不是仅显示 zip 文件 这是我的方法 public ArrayList
  • std::find 对象指针向量

    我有课A成员是另一个类的对象指针向量B class A std vector
  • 如何查找哪些电子邮件位于同一列表中?

    我有 11 个表 email1 email2 email3 email11 tr td td tr
  • 带有最小和最大按钮的 JSpinner

    我正在寻找一个类似 JSpinner 的组件 它提供内置按钮 可以立即将微调器值设置为 jspinner 模型的最小值或最大值 在我自己实现这个之前 我认为以前可能有人做过 尽管我在该主题上的谷歌搜索没有成功 有这样的组件吗 还是我应该自己
  • 使用迭代器迭代不同的数据帧

    假设我有 n 个数据框df 1 df 2 df 3 df n 分别包含名为SPEED1 SPEED2 SPEED3 SPEEDn 例如 import numpy as np df 1 pd DataFrame SPEED1 np rando
  • 子类 UITabBarController 来调整其框架

    我在调整 UITabBarController 大小时遇到 一些问题 因为我只想让它占据屏幕的下半部分 它似乎强制自己显示屏幕的整个高度 如果显示则减去状态栏 我尝试过对其进行子类化并在方法上修改控制器的视图框架 例如viewWillApp
  • Athena/Presto - UNNEST 映射到列

    假设我有一张这样的桌子 表 qa list id question id question answer 1 100 question1 answer 2 101 question2 answer 3 102 question3 answe
  • WordPress:列出没有评论的帖子

    我有一个简单的页面 我想显示尚未评论的帖子列表 我该怎么做 我想我可以将一些参数添加到 query posts 中 谢谢 您可以设置过滤器和查询变量来修改查询帖子的 SQL 将其添加到您的主题中functions php file func
  • 实现 delaunay 三角剖分的 Bowyer-Watson 算法

    我正在尝试实现以下 Bowyer Watson 算法来实现 Delaunay 三角剖分 function BowyerWatson pointList pointList is a set of coordinates defining t
  • 在 ruby​​ 中使用单引号与双引号相比是否有性能提升?

    您知道在 ruby 中使用双引号代替单引号是否会以任何有意义的方式降低 ruby 1 8 和 1 9 中的性能吗 所以如果我输入 question my question 它比更快吗 question my question 我想象 rub
  • R readHTMLTable 无法加载外部实体[重复]

    这个问题在这里已经有答案了 当我在笔记本电脑上运行该线路时 table500 lt readHTMLTable http en wikipedia org wiki List of S 26P 500 companies 1 它获取数据 当
  • Android:如何处理按钮点击

    在非 Java 和非 Android 领域拥有丰富的经验 我正在学习 Android 我对不同的领域有很多困惑 其中之一是如何处理按钮点击 至少有 4 种方法可以做到这一点 它们被简要列出here 为了保持一致性 我将列出它们 拥有以下成员
  • 有没有人尝试过在 Ubuntu(最好是 Ubuntu 9)上从源代码安装 ruby​​ 和 ruby​​gems?

    Ruby on Rails 网站建议在 Linux 下从源代码安装 Ruby 我在全新安装的 Ubuntu 9 上从源代码构建 ruby 时遇到了许多 C 库问题 我在网上找到的有关在 Ubuntu 上安装 ruby 的所有说明都涉及使用预
  • 如何将日期“缩短”半个月[关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 函数 cut 提供了一种按 月 周 季度 剪切日期数据的简单方法 但我想按半个月剪切日期数据 有没有简单的方法可以做到这一点 假设您指的是天文学意义上的半个月 其中第 1 15 天属于
  • 如何将数组存储为 Perl 散列中的值?

    我正在尝试在 Perl 中创建一个散列 其值是数组 就像是 my array split 1 2 my hash a gt array 令人惊讶的是 这个报告 使用 Data Dumper VAR1 a gt 1 2 gt undef 这一