如何对哈希引用切片进行求和?

2023-12-28

我正在尝试获取哈希引用切片的总和,但失败了

#!/usr/bin/env perl

use strict;
use warnings FATAL => 'all';
use feature 'say';
use autodie ':all';
use List::Util 'sum';

my %h = (
    'a' => 1,
    'b' => 2,
    'c' => 3
);

my @letters = ('a','b');
say sum(@h{@letters}); # 1+2 = 3, which is correct
my $h = \%h; # create a reference
#say sum(@{ $h->{ @letters } }); # says "uninitialized value"
#say sum(@{ $h }->{@letters}); # not an array reference
say sum(@h->{@letters}); # @h requires explicit package name

我可以获得哈希切片的总和,但无法获取哈希引用切片的总和。

我尝试过的三种方法都未能得到总和,我已在注释中指出了错误。

如何获得哈希引用切片的总和?


取消引用$h@印记,但后面带有花括号:

say sum(@{ $h }{ @letters });

如果里面的东西@{...}是一个简单标量,花括号是可选的。所以,你可以将其缩短为

say sum(@$h{ @letters });

第三种可能的语法是 Postfix Reference Slicing(需要 5.20+):

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

如何对哈希引用切片进行求和? 的相关文章

  • 如何在 Perl 中使用数组引用中的索引作为方法引用?

    如同这个关于迭代子例程引用的问题 https stackoverflow com questions 452529 how do i iterate over dereference an array of subroutine refs
  • Perl - HTTP::代理捕获 XHR/JSON 通信

    网站http openbook etoro com main http openbook etoro com main 有一个实时提要 由 javascript 通过 XHR keep alive 请求生成 并以 gzip 压缩 JSON
  • 哪一个代表null? undef 或空字符串

    我想插入null在表的一列中 哪一个代表null undef或空字符串 应该使用哪一种 为什么 我知道关于defined我可以检查一下 但我更多的是从数据库的角度来看 代表哪一个null更合适吗 Update 我在用DBI module D
  • 如何设置 $!在 Perl 中

    我想在 perl 中编写一些设置 的函数 与内置 perl 函数类似 当我尝试执行此操作时 它抱怨 参数 无法创建管理员用户 在标量分配中不是数字 我试过用谷歌搜索这个 但不幸的是谷歌不会在 所以结果很难得到 if createUser a
  • 检测 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键 另外 我想
  • 从日志尾部提取匹配行后退出

    我使用范围运算符来提取日志文件的一部分 例如 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 位数字 现在是棘手的部分 我只
  • 如何轻松地将 Ajax、perl 和 JSON 结合使用?

    我正在尝试使用 Ajax 制作一个网页 Example 我创建了一个 Perl CGU 文件来触发一个简单的帖子 文件 test cgi name 托马斯 回复短信 你的名字是托马斯 我创建了一个可以使用该帖子的 html 文件 但随后页面
  • 由于 lpcap,CPAN 安装 Net::Pcap 和 Packet 模块失败

    最近 我尝试通过 cpan 安装 perl 模块 Net Packet 和 Net Pcap 但它抱怨找不到 pcap 库 所以我正在搜索 cpan 在安装模块时是否接受外部 lib include 目录 但到目前为止还没有运气 looki
  • 我怎样才能挂钩 Perl 的 use/require 以便抛出异常?

    如果文件已经加载 是否可以挂载到use require所以我可以抛出异常 在我即将到来的nextgen blacklist http github com EvanCarroll nextgen blob blacklist lib nex
  • 如何使用 Perl 分割文本文件并将其存储到二维数组中?

    230215 01 16 2000 57533 0 1045403 0 0 217623 230215 01 18 2000 77659 0 1045403 0 0 217624 230215 01 25 2000 76583 0 1045
  • 在 Ubuntu 中执行 .cgi 文件

    我在 Ubuntu 下运行 Apache PHP 当我运行 cgi 文件时 通过http localhost mycgi cgi 浏览器将显示代码而不是运行它 如何让浏览器执行 CGI 文件而不是显示其内容 将这些行添加到您的 apache
  • 在 qx 运算符中将 perl 数组拆分为单独的参数

    我试图将一组参数传递给qx操作员 考虑 my files qw A txt B txt print qx ls files 这给出了错误 ls cannot access A txt B txt No such file or direct
  • 无法从日志文件中提取特定信息

    我这里有日志文件我想提取以下信息 想要提取十六进制值 如果该行有第二个括号 0 9 想要提取十进制值 首先转换为十六进制 然后提取 9 gt 0x09 想要提取负值 25 先转换为十六进制然后提取 例如 25 gt FFE7 gt 想要提取
  • Perl 正则表达式图灵完备吗?

    我见过 Ruby 和 Perl 程序员做了一些事情复杂的代码挑战 https codegolf stackexchange com questions 3596 regex validating regex完全用正则表达式 这前瞻和后瞻 h
  • Perl LWP GET 或 POST 到 SNI SSL URL

    我有一个使用 perl LWP 向客户发送数据的系统 他们可以选择 URL 以及是 POST 还是 GET 一位新客户最近抱怨该服务不起作用 他们怀疑这是因为他们的端点使用了 SNI SSL 查看日志 我看到的只是错误消息 证书验证失败 5
  • 客户端浏览器关闭时服务器端 Perl CGI 脚本中断

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

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

随机推荐

  • 如何使用固定位置的 jQuery 可拖动?

    它在 Firefox 中完美运行 但在 ie chrome 和 Opera 中不起作用 div has position fixed and is draggable 除了 Firefox 之外它不起作用 不要在 CSS 中设置固定 它适用
  • 将winsound转换为linux平台?

    在我不久前编写的一个聊天脚本中 我使用winsound python 库在收到新消息时播放 ding 声音 ding wav 现在我想知道如何才能使其在 Linux 上工作 仅使用 ogg 音频文件 代码如下 import sys impo
  • 在 std::views::join 之后使用 std::views::filter 无法编译

    我在使用时遇到问题std views filter在加入的流 范围上 我不知道这里到底出了什么问题 我想这些元素可能无法使用正确的 复制 移动 语义传递 应该使用引用包装器或其他东西 include
  • 将 mp4 视频保存到设备相机胶卷

    我从一个 NSString 开始 它是 mp4 文件的 url 从这里我希望将该视频保存到设备相机胶卷中 看来我只能保存 mov 文件 所以我必须首先转换 mp4 但我看到的关于此的几篇文章没有帮助 谁能帮助我完成这个任务 提前致谢 您可以
  • C# 使用 StreamReader 读取资源内的文本文件时出现 FileNotFound 异常

    using SteamReader sr new StreamReader text txt 我也尝试不将文本文件放在 resx file The StreamReader您正在使用的构造函数期望该文件存在于磁盘上 如果该文件嵌入到程序集中
  • 当我的应用程序关闭时,如何处理通知操作?

    问题概要 我正在编写一个 iOS 应用程序 它发送提醒通知 让用户通过 x callback url 运行其他应用程序 如果应用程序位于前台或后台 我的一切都可以完美运行 但当我的应用程序关闭时 它就无法运行 当我的应用程序关闭时 通知也会
  • 如何在 Xamarin 中重用相同的视图? XAML

    所以我得到了这段代码 我需要在或多或少的所有页面上重复使用 但是我有点厌倦了更改一个页面并且必须在 10 个或更多地方做同样的事情 有没有更好的方法做这个 使用 Xamarin Forms 也许可以使用自定义控制器或使用标记扩展在堆栈布局内
  • 使用 ISO V2 Coated 等颜色配置文件将 CMYK 颜色转换为 RGB?

    我知道这个问题之前已经以多种不同的方式提出过 但似乎没有一个与我的问题相关 我想转换一个CMYK准确地着色RGB使用颜色配置文件 例如ISO Coated V2 我想这样做 因为简单的数学转换会导致明亮的颜色无法在CMYK色彩空间 理想情况
  • 在 JSON 请求中发送图像

    我在用着JSON with REST用于使用 Web 服务的 api 现在我还需要根据请求发送图像 是否可以 如果是 我需要在客户端 服务器端进行哪些更改 在我的Java代码中 我应该如何发送图像内容 是否需要单独设置内容类型 执行此操作的
  • Python:无需 OpenCV 即可访问相机

    同志们 我想用 Python 从笔记本电脑摄像头捕获图像 目前所有迹象都指向 OpenCV 问题是 OpenCV 的安装是一场噩梦 而且每次您在新系统上重新安装代码时 这个噩梦都会再次发生 有没有更轻量级的方法在Python中捕获相机数据
  • Rails Paperclip S3 重命名数千个文件?

    我正在尝试重命名 s3 中的许多文件 更改当前的回形针has attached file path from stuff id updated at style extension to stuff id counter style ext
  • 为什么我的工具输出会覆盖自身以及如何修复它?

    这个问题的目的是要成为一个典范 https meta stackoverflow com questions 291992它涵盖了各种各样的问题 其答案归结为 你有 DOS 行结尾被输入到 Unix 工具中 任何有相关问题的人都应该清楚地解
  • 有没有办法将 gmpxx.h 与 c++98 一起使用?

    由于我的项目 我需要使用 c 98 和 gmpxx h 但即使对于一个简单的项目 它也不起作用 include
  • Chrome DevTools:SASS 源文件未保存在磁盘上

    我按照 Google 提供的说明设置源映射 https developers google com chrome developer tools docs css preprocessors https developers google
  • Unity错误:UnityEngine.Component'不包含“velocity”的定义

    我对 C 很陌生 所以如果这是显而易见的 请原谅我 我正在按照中的步骤操作本教程 http www instructables com id Make A 2D Infinite Runner with Unity step6 The Ro
  • 折叠表达式和函数名称查找

    我正在学习 C 17 中的折叠表达式 我有以下代码 include
  • 是否可以设置当CPU写入特定地址时中断的中断?

    当写入特定地址时是否可以使x86 cpu中断 我想要一个硬件机制来监视某些地址的变化 我想知道在写入特定地址时是否可以使x86 cpu中断 有可能的 您可以设置调试寄存器之一 DR0 to DR4 到你想要监控的地址 然后在中配置相应的标志
  • 使用 NSSortDescriptor 通过 Core Data 对内部版本号进行排序

    我正在尝试使用NSSortDescriptor使用 Core Data 对内部版本号 软件版本 NSStrings 进行排序 内部版本号实际上只是 NSString 但似乎很难做到这一点 我猜测是因为小数点有多个且不规则 例如 我想对以下内
  • scipy 优化最小化——并行化选项

    当使用 L BFGS B 方法运行 scipy Optimizeminimum 时 我发现在某些计算机上 它使用全部 8 个 cpu 核心 参见照片 1 在其他计算机上它使用 8 个核心中的 4 个 参见照片 2 而在其他计算机上 它使用
  • 如何对哈希引用切片进行求和?

    我正在尝试获取哈希引用切片的总和 但失败了 usr bin env perl use strict use warnings FATAL gt all use feature say use autodie all use List Uti