perl 在映射操作中丢弃第一个数组元素

2024-01-12

我开始利用 Perl Map 的强大功能,但遇到了一个我找不到答案的问题。基本上我正在解析一个 unix 命令的返回,该命令有一个我不需要的标题行,然后每个项目有 2 行信息。目前,我正在这样做:

(undef, @ret) = map { [split /\n/] } split(/(?:Host: )/, `cat /proc/scsi/scsi`);

这可以很好地跳过标题并为每个“有用”文本行提供一个数组元素。但是,我想构建一个散列,除了那条额外的行之外,我知道如何做。那么我怎样才能在一行代码中忽略第一个数组元素,以允许我创建哈希呢?我正在考虑切片或拼接的某个地方,但我需要知道主机上的分割创建的数组的大小(这可能吗?)。我想我也可以做 (undef,undef, %ret) = map {...} 但如果这可以通过切片或拼接来完成,那学习如何做就太好了。


从 a 中删除第一个元素的一种方法split http://perldoc.perl.org/functions/split.html并且仍然能够链接更多命令来使用grep http://perldoc.perl.org/functions/grep.html带有状态变量:

use strict;
use warnings;

my @lines = do {
    my $line = 0;
    grep {++$line > 1} split /\n/, "1\n2\n3\n4\n5\n6\n7\n"
};

print "@lines";

Output:

2 3 4 5 6 7

然而,我认为你试图在一行代码中做太多事情。

由于看起来您只是在读取文件,因此我建议您使用 Perl 来open http://perldoc.perl.org/functions/open.html文件而不是外壳cat.

假设您的键/值分隔符是冒号,以下是我建议您构建逻辑的方式:

use strict;
use warnings;
use autodie;

my %hash = do {
    open my $fh, '<', '/proc/scsi/scsi';
    <$fh>; # Skip Header Row
    map {chomp; split /:/, $_, 2} <$fh>
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

perl 在映射操作中丢弃第一个数组元素 的相关文章

  • 如何在VBA中将文本文件读取到数组中

    我正在尝试将制表符分隔的文本文件提取到数组中 我已经知道如何将该文本文件读入电子表格中 以下是我的代码 它运行良好 While Not EOF iFile Line Input iFile LineText Dim arr arr Spli
  • Python/curve_fit:无法通过初始化猜测传递数组

    我有这个函数来计算某种多项式 def pipoly df pj n np size pj p pj 0 for j in range 1 n p pj j df j return p pj应该是一个包含多项式系数的初始猜测的数组 因此 多项
  • PHP 中的数组按值排序并维护索引关联

    我有一个数组 array array john gt 2 adam gt 3 ben gt 10 tim gt 1 我已经尝试了 PHP 的各种函数来实现这个数组结构 array array tim gt 1 john gt 2 adam
  • 打包/解包 - 小端 - 64 位 - 问题

    usr bin env perl use warnings use 5 012 my var 1 lt lt 31 say unpack B pack N var 10000000000000000000000000000000 我怎样才能
  • 从具有多行记录的文件中提取数据,将每个范围保存到单独的文件中

    我有一个看起来像这样的文件 TRANSACTION STARTED 020t CARD INSERTED 020tCARD 5845 DATE 01 02 16 TIME 05 45 52 05 46 26 GENAC 1 ARQC EXT
  • 使用字典时如何避免 KeyError?

    现在我正在尝试编写汇编程序 但我不断收到此错误 Traceback most recent call last File Users Douglas Documents NeWS py line 44 in if item in regis
  • 这应该被称为对象切片的某种特殊情况吗?

    假设我有课Derived派生自类Base然而sizeof Derived gt sizeof Base 现在 如果分配一个数组Derived像这样 Base myArray new Derived 42 然后尝试访问n第一个对象使用 doS
  • IndexError:索引 10 超出尺寸为 10 的轴 0 的范围

    我正在以数字方式为 x 网格和 x 向量以及时间网格设置网格 但我再次设置了一个数组x 位置 只能在 0 到 20 之间并且t 时间 将从 0 到 1000 以便求解热方程 但每次我想要 例如 我将步数设置为 10 时 都会收到错误 Tra
  • 在Python上获取字典的前x个元素

    我是Python的新手 所以我尝试用Python获取字典的前50个元素 我有一本字典 它按值降序排列 k 0 l 0 for k in len dict d l 1 if l lt 51 print dict 举个小例子 dict d m
  • 如何从另一个数组值中过滤数组值并返回新数组? [复制]

    这个问题在这里已经有答案了 我有两个数组 all languages and taken languages 第一个包含所有语言 例如 200 种或其他语言 第二个包含之前选择的语言 从 0 到 200 种 我需要删除所有已采用的语言 ta
  • 数组上的 Bash 子字符串扩展

    我有一组带有给定后缀的文件 例如 我有一组带有后缀的pdf文件 pdf 我想使用子字符串扩展来获取不带后缀的文件名 对于单个文件我可以使用 file test pdf echo file 0 4 要对所有文件执行此操作 我现在尝试 file
  • MATLAB 中的逻辑数组与数值数组

    我正在比较两个二进制数组 我有一个数组 其中值可以是一或零 如果值相同则为 1 如果不同则为零 请注意 我正在做检查之外的其他事情 因此我们不需要进入矢量化或代码的性质 在 MATLAB 中使用数值数组和逻辑数组哪个更有效 Logical
  • 将字符串数组添加到组合框

    我有一个组合框 我想加载一个从方法返回的字符串数组 我目前只是用 for 循环加载它 但我认为应该可以将字符串数组直接分配给组合框 我只是想改进我的代码 我已经做了一些搜索 并且看到了使用数据范围或数据源的答案 但这些似乎都不起作用 我也尝
  • 为什么 Perl 的 LWP 给我的编码与原始网站不同?

    可以说我有这个代码 use strict use LWP qw get my content get http www msn co il print STDERR content 错误日志显示类似 xd7 x9c xd7 x94 xd7
  • 如何在 python 3.x 中操作嵌套字典?

    我被这个问题困扰了 你能解决这个挑战吗 开始了 我们在二级字典中表示一系列比赛中球员的分数 如下所示 match1 player1 57 player2 38 match2 player3 9 player1 42 match3 playe
  • ReDim 保留“下标超出范围”

    我正在尝试将数据从 2 个双精度数组移动到 2 个不同的双精度数组 我不确定大小是多少 因为我正在从第一个数组中随机抽取样本并将其放入第二个数组中 当我添加 ReDim Preserve 行时 出现下标超出范围错误 Function Cre
  • Java byte[] 与 String 之间的转换

    为什么这个junit测试失败了 import org junit Assert import org junit Test import java io UnsupportedEncodingException public class T
  • 总结二维数组

    鉴于我当前的程序 我希望它在用户输入所有值后计算每列和每行的总和 我当前的代码似乎只是将数组的值加倍 这不是我想要做的 例如 如果用户输入具有以下值 1 2 3 2 3 4 3 4 5 的 3x3 矩阵 则看起来就像我在下面的程序中对其进行
  • JSON 对象数组转 Java POJO

    将此 JSON 对象转换为 java 中的类 您的 POJO 类中的映射将如何 ownerName Robert pets name Kitty name Rex name Jake This kind of question is ver
  • 从对列表创建邻接列表类型结构

    在 C 中 我有 class Pair int val1 int val2 我有一个来自以下来源的配对列表 List

随机推荐

  • 数组字段的elasticsearch范围过滤器

    我有一个包含整数数组的字段 例如 source prices 20001 30001 我想过滤结果 使价格至少包含以下值之间的列表之一 20002 30000 不会返回上述文档 因为没有值介于 20002 和 30000 之间 但 1000
  • 使用 Django 模型选择 COUNT 个?

    有谁知道是否有办法只选择与 Django 中的查询匹配的行数 我编写了一个搜索 将结果分为 40 组 但我还想显示结果总数 我可以像 len Model objects filter name icontains search 这样的东西
  • 骨干网将模型传递给路由器

    我正在使用 require js 和 Backbone 开发一个 android 应用程序 我必须通过 touchend 事件将从集合中获取的模型传递给路由器 我该怎么做 define jquery underscore backbone
  • Rails 3.1 Edge 是否破坏了 XmlMarkup::Builder?

    网上有很多例子 例如http techoctave com c7 posts 32 create an rss feed in rails http techoctave com c7 posts 32 create an rss feed
  • 在 Jinja2 中使用“if any():”?

    在 Jinja2 中 我正在寻找一种方法来检查变量列表中至少一个是否具有值 基本上在 python 中我会这样做 if any item genre item type item color 但是 在 Jinja 中以下内容无效 if an
  • 1 个输入分隔中的 3 个值(数字)。蟒蛇3

    我现在正在编写一个代码 其中一部分需要要求用户在一行中输入 3 个不同的数字 每个数字可以是任意位数 假设我要求用户输入 他输入 31 722 9191 数字之间需要有空格 您将如何分离这些数字并为每个数字分配一个变量 例如 31 是 A
  • 如何从给定的数据中找到距当前位置最近的地点。

    我有位置地址列表 从我当前的位置 我需要到达最近的地点并且必须在地图上显示它 我怎样才能到达距离我当前位置最近的地方 首先 我将获取当前位置的纬度和长度 然后我将如何到达最近的地方 Thanks 首先获取您当前的location纬度 Lon
  • gzip 编码与 JSON 兼容吗?

    我正在尝试缩小 AJAX 调用中发生的一些奇怪现象的范围 我的 PHP 脚本的开头是这样的 ob start ob gzhandler 与 HTML 配合得很好 但是使用 application json 数据执行此操作有任何问题吗 有人知
  • Linq2Sql Many:很多问题,你会怎么做?

    我知道很多 Linq2Sql 不支持很多 但我正在研究解决方法 我正在使用我的小 SO 克隆 我有一个包含问题的表和一个包含标签的表和一个链接表 QuestionTag 所以我在问题和标签之间有一个经典的多 多关系 为了在首页上显示问题列表
  • 使用 Elasticsearch 进行简单的 AND 查询

    我正在尝试对两个指定字段进行简单查询 而手册和谷歌被证明没有什么帮助 下面的例子应该很清楚我想要做什么 query and term name family name daniel name given name tyrone 作为一个额外
  • 根据属性中的值设置元素的样式

    我实际上首先问过这个问题 但这是我的错 因为我无法正确描述那里的事情 所以我无法得到答案 但现在我将描述这里的一切 实际上 我想要一个 javascript 函数 它可以找到具有完整文档中任何元素的特定前缀的类 让我们以 html 标记为例
  • Flex/Bison 错误:请求非结构或联合中的成员“str”

    我正在学习 flex bison 我编写了以下程序但出现错误 include
  • MATLAB - 创建变量的引用(句柄?)

    假设我有以下课程 classdef myClass lt handle properties A 1 end methods function obj myClass val obj A val end end end 假设我实例化这个类的
  • 如何对表单元素进行分组

    我得到了这个表格
  • 如何将 aar 库上传到 Nexus?

    我有一个 Android aar 库 正在与 Android 应用程序一起使用 它可以与直接包含在 Android 项目中的 aar 库一起正常工作 我想将此库移至我的内部 Nexus maven 存储库 以便其他开发人员也可以使用该库 如
  • WindowManager$BadTokenException

    我正在尝试将进度对话框放在 Click 事件上ListView如下面的代码中所述 但我收到错误 WindowManager BadTokenException Unable to add window token android app L
  • Android,如何让应用程序的任务不可关闭?只能通过任务终止来关闭

    我正在开发一个应用程序 该应用程序必须始终运行并且只能通过任务杀手或类似工具关闭 我在清单中有 android persistent true 虽然按主页按钮时没有关闭 但我发现它时不时会关闭 我不希望这种情况发生 我的用户想要 可以通过从
  • 使用希伯来语时 Android textview stackoverflow

    我的应用程序正在从 RESTful http 源检索数据 有时 会有希伯来语文本 title 标题 内容为 6 月 12 日 歌词 一切都很好 直到必须在文本视图中使用它为止 我正在使用自己的列表适配器 当此文本尝试加载时会发生以下情况 I
  • 是否可以检查 URLconnection.getInputStream() 的进度?

    我想通过 URL 连接检查下载文件的进度 是否可能或者我应该使用另一个库 这是我的 urlconnection 函数 public static String sendPostRequest String httpURL String da
  • perl 在映射操作中丢弃第一个数组元素

    我开始利用 Perl Map 的强大功能 但遇到了一个我找不到答案的问题 基本上我正在解析一个 unix 命令的返回 该命令有一个我不需要的标题行 然后每个项目有 2 行信息 目前 我正在这样做 undef ret map split n