Perl 中的匿名哈希是什么?

2024-01-18

$hash = { 'Man' => 'Bill',
          'Woman' => 'Mary,
          'Dog' => 'Ben'
        };

Perl 的“匿名散列”到底有什么作用?


它是对可以存储在标量变量中的哈希的引用。它与常规哈希完全相同,只是大括号不同{...}创建一个参考到一个哈希值。

请注意这些示例中不同括号的用法:

%hash = ( foo => "bar" );   # regular hash
$hash = { foo => "bar" };   # reference to anonymous (unnamed) hash
$href = \%hash;             # reference to named hash %hash

例如,如果您想要将散列作为参数传递给子例程,那么这样做很有用:

foo(\%hash, $arg1, $arg2);

sub foo {
    my ($hash, @args) = @_;
    ...
}

这是创建多级哈希的一种方法:

my %hash = ( foo => { bar => "baz" } );  # $hash{foo}{bar} is now "baz"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Perl 中的匿名哈希是什么? 的相关文章

  • 如何在 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 中的全局变量、子程序变量问题

    如何将子程序变量值转移到另一个子程序变量中 我可以使用全局变量吗 sub foo my myvar Hello sub foo1 my myvar1 myvar how can I get the Hello from myvar 我尝试使
  • 如何将两个不同的哈希数组中的值添加在一起?

    我有两个哈希数组 哈希值的键不同 player scores1 first name gt Bruce score gt 43 time gt 50 first name gt Clark score gt 45 minutes gt 20
  • 如何使用 Perl 正则表达式匹配字符串末尾/开头处的空格或单词?

    我想找到与我的正则表达式匹配的序列 它们应该位于由空格包围的字符串中间 末尾或开头或者是字符串中唯一的东西 Example 我们假设序列 qwe45rty 就是我们正在寻找的 我希望能够对所有这些因素都抱有积极的态度 qwe45rty qw
  • 在 MySQL 中插入时检查并防止相似字符串

    简要信息 我有3张桌子 Set id name SetItem set id item id position TempSet id 我有一个函数可以生成新的随机组合Item桌子 基本上 总是在成功生成之后 我在中创建一个新行Set表 获取
  • 如何有效地找到距给定点最远的点(从一组点中)?

    我正在寻找一种算法或数据结构来解决以下问题 给你一组点 S 然后你会得到另一个点形式的 Q 查询 对于每个查询 找到集合中距离给定点最远的点 集合中最多有 10 5 个点和 10 5 个查询 所有点的坐标都在 0 到 10 5 范围内 我想
  • Perl 的反引号、system 和 exec 有什么区别?

    有人可以帮帮我吗 在 Perl 中 以下之间有什么区别 exec command and system command and print command 还有其他方法可以运行 shell 命令吗 exec 执行命令并一去不复返 这就像一个
  • 你能挽救我的负面回顾示例来传达数字吗?

    在 高级正则表达式 一章中掌握 Perl http oreilly com catalog 9780596527242 我有一个损坏的示例 我无法找到一个很好的修复方法 这个例子可能为了自己的利益而试图变得太聪明 但也许有人可以帮我解决它
  • 如何对 Data::Dumper 的输出进行排序?

    我想转储对象和散列的值 但它总是乱序打印键 如何按 递归 排序顺序转储键 use Data Dumper print Dumper obj Set Data Dumper Sortkeys 1获取 Perl 的默认排序顺序 如果要自定义顺序
  • std::map 和二叉搜索树

    我读过 std map 是使用二叉搜索树数据结构实现的 BST 是一种顺序数据结构 类似于数组中的元素 它将元素存储在 BST 节点中并按其顺序维护元素 例如如果元素小于节点 则将其存储在节点的左侧 如果元素大于节点 则将其存储在节点的右侧
  • Rails/Ruby 合并两个具有相同键、不同值的哈希值

    我有两个想要合并的哈希值 它们看起来像这样 Hello gt 3 Hi gt 43 Hola gt 43 第二个哈希看起来像 Hello gt 4 Hi gt 2 Bonjour gt 2 我想合并这两个哈希数组 使结果看起来像 Hello
  • 检查一个数字是 int 还是 float

    在perl中 我想检查给定变量是否包含浮点数 为了检查我正在使用的 my Var 0 02 Floating point number if int Var Var floating point number 但上面的代码对于 0 0 不起
  • 为什么 Nil 会增加一个枚举大小而不增加另一个枚举大小? Rust 枚举的内存是如何分配的?

    如果我定义以下枚举 Nil 不会增加枚举的大小 use std mem size of enum Foo Cons char enum Bar Cons char Nil println size of
  • 从 php 执行 bash 脚本并立即输出回网页

    我有一组 bash 和 Perl 脚本 开发在 Linux Box 上部署所需的目录结构 可选 从svn导出代码 从这个源构建一个包 这在终端上运行良好 现在 我的客户请求此流程的 Web 界面 例如 某些页面上的 创建新包 按钮将一一调用
  • 处理大数据二进制文件

    我正在处理包含原始数据的大型二进制文件 每个大约 2 GB 这些文件具有明确定义的结构 其中每个文件都是一个数组events 每个事件都是一个数组data banks Each event and data bank有一个结构 header
  • 客户端浏览器关闭时服务器端 Perl CGI 脚本中断

    我已经尝试解决一个小问题很长一段时间了 但似乎我无法解决 我编写了一个 HTML 页面 它在提交表单时调用 perl CGI 脚本 该 CGI 在服务器端执行一定数量的任务 我让脚本将这些任务的步骤打印到 HTML 页面上的 iframe
  • 快速 Perl signint 处理程序

    收到 Ctrl C 时处理程序清理的最方便 最清晰的方法是什么 例如 当我的套接字服务器以这种方式被终止时 TCP 套接字永远不会关闭 我想要一个很好的衬里 我可以将其放在程序的顶部来设置 sigint 处理程序 或类似 atexit 的东
  • 使用 crypt() 加密

    我目前正在做一个非常安全的登录系统 但我是 crypt 函数的新手 需要一些快速帮助 我在注册过程中使用 crypt 加密密码字符串并将其保存到数据库中 但是 我如何在登录过程中解密密钥 或者我应该怎么做 或者是否可以对提交的密码字符串进行

随机推荐

  • Django 和具有多个外键的模型

    我是 Django 的新手 到目前为止 它的功能给我留下了深刻的印象 我正在使用更复杂的模型 但无法正确使用它们 使用 Django 1 3 我尝试编写一个摘要页面 该页面将使用以下结构呈现下面的三个模型 换句话说 就是包含目的地和活动的旅
  • open_basedir 的影响和子域限制

    出于安全原因 我已将我的yiihtml 根目录下的文件夹 所以我的结构如下所示 conf httpdocs httpsdocs yii 运行该网站时 我收到错误 open basedir 限制yii php这是由index php out
  • AppBar Material UI 问题

    我对 Material UI 库还很陌生 但到目前为止我真的很喜欢它 但是 我遇到了 AppBar 组件覆盖在我的其他内容上的问题 我目前有
  • 维基百科上的汉字编码是什么?

    我在维基百科上查看中文字符的编码 但无法弄清楚它们正在使用什么 例如 的 被编码为 E7 9A 84 see here http upload wikimedia org wikipedia commons thumb a ae E7 9A
  • Maven - 检测同一依赖项的多个版本

    我刚刚经历了我的 Maven 项目的两个直接依赖项的情况 它们具有特定传递依赖项的两个不同版本 在我的特定情况下 我直接依赖于以下内容
  • 我可以将节点文本包装在 WinForms TreeView 中吗

    ASP NET TreeView 有一个 NodeWrap 属性 是否有在 WinForms TreeView 中完成相同操作的等效方法 EDIT 感谢您对其他控件的建议 不幸的是我的客户不允许使用第三方控件 这似乎不可能 您可能会寻找具有
  • CreateProcess 和奇怪的 nslookup 错误

    我有一个经常使用的 api 例程来捕获 dos 输出 最近发现了一个奇怪的错误 它似乎不允许 dns 调用 例如 nslookup 将返回 服务器无响应 错误 服务器 未知 如果您向其提供 IP 地址 Ping 将起作用 但如果它必须进行
  • Postgres-必须 to_timestamp() 忽略/不读取日期/时间字符串中间的特定字符

    我有原始文本列 其值类似于 2012 07 26T10 33 34 和 2012 07 26T10 56 16 在Java中使用Joda Time我可以通过调用轻松地将其转换为日期 从日期转换 new SimpleDateFormat yy
  • 当存在两种同名类型时,如何消除监视窗口中类型的歧义

    在监视窗口中 我试图查看TaskScheduler Current 但它向我显示以下错误 The type System Threading Tasks TaskScheduler exists in both CommonLanguage
  • 获取特定值的数组索引

    ArrayIndex Value Running total 0 6 6 1 1 7 2 6 13 3 2 15 I array index V value R Running total 例如 我需要为给定的运行总计选择适当的索引 12
  • Android 中的保留字列表

    我目前正在开发另一个 Android 应用程序的界面设计过程中 我似乎再次尝试使用资源的保留字 无论是可绘制对象还是布局 据我所知 您需要了解一组规则 不允许大写 除下划线外没有任何符号 没有数字 除了这些 如果我错了请纠正我 我think
  • 如何在 OSX Snow Leopard 10.6 上安装 perl DBD::Oracle

    我正在尝试从运行 OSX 10 6 雪豹的英特尔 Mac 连接到远程系统上的 Oracle 10 2 0 4 我尝试使用 perl CPAN 安装 DBD Oracle DBI 工作正常 但出现编译错误 有人可以提供一个易于遵循的指南吗 在
  • 通过类函数返回引用并返回 C++ 中的整个对象?

    Vector 类中的运算符重载 CVector CVector operator CVector param CVector temp temp x x param x temp y y param y return temp 并主要 CV
  • 如何在Excel和C#之间将“double”转换为“datetime”

    我有一个 C 程序 需要创建一个 excel 对象 并执行一些操作 这是我的代码的一部分 c code workSheet Cells 1 1 2012 9 20 asign 2012 9 20 to cell 1 1 in Excel d
  • 为什么 gradle lint 认为省略号字符“…”比“…”更具可读性?

    我在 string xml 中定义了一个字符串 XXX 并遇到了 gradle lint 问题 Replace with ellipsis character 8230 Explanation Ellipsis string can be
  • 在 python 中使用 grep

    有一个文件 query txt 其中包含一些关键字 短语 需要使用 grep 与其他文件进行匹配 以下代码的最后三行工作正常 但是当在 while 循环内使用相同的命令时 它会进入无限循环或其他东西 即不响应 import os f ope
  • 将 Google 云端硬盘推送通知设置为永不过期

    我已经阅读了用于推送通知的 Google Drive API 似乎有一种方法可以将通道设置为永不过期 但我找不到有关如何执行此操作的文档 我尝试将 ttl 参数设置为 0 和 null 两次 API 返回的过期时间都是从调用时间起 3600
  • 从 C# 运行 Powershell 会出现错误:“此系统上禁用运行脚本”

    在我的 C 应用程序中 我尝试创建一个RunSpace调用一些 Powershell 脚本 然而 当它到达实际创建它的代码时 它会失败并出现以下错误 var implementedHost new implementedPSHost usi
  • 运行exe后如何返回退出代码?

    我创建了一个控制台应用程序来验证函数 并且我需要使用 vbscript 来执行该应用程序 执行此 exe 后 无论函数返回成功与否 我都想返回退出代码 如何在 net 中返回状态或退出代码 我假设您正在编写 C 或 VB NET 在任何一种
  • Perl 中的匿名哈希是什么?

    hash Man gt Bill Woman gt Mary Dog gt Ben Perl 的 匿名散列 到底有什么作用 它是对可以存储在标量变量中的哈希的引用 它与常规哈希完全相同 只是大括号不同 创建一个参考到一个哈希值 请注意这些示