perl对m x n类似表进行按列排序的代码_perl

操作csv这样的表格在perl处理文件中是经常要碰到的。这样的表类似二维数组,因此实际上的操作时对二维数组的操作了。
对这样的行列表格,我们常常需要按照某列,或者先按照某列,再按另一列进行排序,这里贴上perl的实现,以便下次使用查找。

看下面这段代码。

复制代码 代码如下:

#!/usr/bin/perl
my @line;
while(<>)
{
chomp;
push @line, [ split ];
}
foreach ( sort { $a->[0] <=> $b->[0] or $a->[1] <=> $b->[1] or $a->[2] <=> $b->[2] } @line)
{
print @$_, "\n";
}

注意:
对于大的文件,最好不要这么用。
该脚本会把数据全部搬到内存。

时间: 2024-12-17 20:01:11

perl对m x n类似表进行按列排序的代码_perl的相关文章

如何comobox链接数据库表中的列,求代码

问题描述 如何comobox链接数据库表中的列,求代码 在combobox的下拉匡如何与数据库的表的列定位 解决方案 解决方案二: C#中comboBox用代码绑定数据库中在某一列.用处:跟radioButton联系在一起,可以根据radioButton在选择而在comboBox显示出不同的值. private void radioButton1_Click(object sender, EventArgs e) { comboBox1.Items.Clear(); //清空ComBox str

perl 指定长度并生成一个随机的DNA序列的脚本代码_perl

复制代码 代码如下: #!/bin/perl use strict;  use warnings; #进行定义  my @dna;  my $dna_length;  my $newbase;  my $i=0;  print "please input the DNA length\n";  chomp($dna_length=<>);  while($i<$dna_length)  {    #从四个碱基中随机选取一个    my(@nucleotides)=qw

perl常量、多维数组及变量的初始化的实例代码_perl

例1: 复制代码 代码如下: #!/usr/bin/perluse strict; use warnings;my $test = "asdf";print "${test}_test2\n";#constantuse constant {    AAA => "aaa",    BBB=> "bbb",    MIN_TOTAL => 12,    SCORE_PASS => 90,    SCORE

perl用grep map求交集、并集、补集的实例代码_perl

复制代码 代码如下: #!/usr/bin/perl## 用grep map 获取两个列表的交集并集.补集#use strict;my @a=("a","b","c","d","e");my @b=("b","g","f","e");print "列表a数据: @a \n";print "列表b数据

《高阶Perl》——第2章 分配表 2.1 配置文件处理

第2章 分 配 表 第1章介绍了如何用别的函数参数化函数的行为使函数更加灵活.例如,并没有把每次移动盘子就输出一条消息硬编码到hanoi()函数里,而是让其调用一个从外部传入的辅助函数.通过提供一个合适的辅助函数,可以使hanoi()输出一系列说明,或检查它自己的行动,或生成一个图形显示,而不必重新编写基本的算法.类似地,可以从total_size()函数的计算文件大小的行为中提取出目录遍历行为,得到一个更有价值和普遍适用的dir_walk()函数,它可以做许多不同的事情. 为了从hanoi()

Perl中捕获警告信息、异常信息并写入日志详解_perl

虽然建议在每个Perl脚本和模块中开启警告,可是你又不想用户看到Perl发出的警告. 一方面你想在代码前面使用use warnings作为你的安全网,另一方面,通常警告会出现在屏幕上.多数情况下,客户不知道如何处理这些警告.如果幸运的话这些警告仅仅让客户惊讶一下,当然,不幸的是他们尝试着去修复它们... (这里说的不是Perl程序员.) 第三方面,你或许想要保存这些警告供之后分析. 此外,在很多地方还有很多Perl脚本和应用程序没有使用use warnings也没有在#!行中使用-w.加上了us

Oracle之3种表连接方式(排序合并连接、嵌套循环、哈希连接)

Oracle之3种表连接方式(排序合并连接.嵌套循环.哈希连接) 排序合并连接 1.2.4.2.1  排序合并连接 排序合并连接(Sort Merge Join)是一种两个表在做表连接时用排序操作(Sort)和合并操作(Merge)来得到连接结果集的表连接方法. 如果两个表(这里将它们分别命名为表T1和表T2)在做表连接时使用的是排序合并连接,则Oracle会依次顺序执行如下步骤. (1)首先以目标SQL中指定的谓词条件(如果有的话)去访问表T1,然后对访问结果按照表T1中的连接列来排序,排好序

sqlserver中在指定数据库的所有表的所有列中搜索给定的值

比如:我们导入了某个客户的资料,我们知道此客户的姓名是ZhangShan,我们想知道,在我们的业务数据库(eg:NorthWind)中,有哪些数据表的哪些字段设置了此姓名值ZhangShan,通过下面的SQL,我们就可以实现此目的,此处的SQL搜索自网上,在此处做了局部修改. 一.搜索数据是String类型 适用于搜索Text,NText,Varchar,Nvarchar,Char,NChar等类型 1.创建存储过程:My_Search_StringInGivenTable 复制代码 代码如下:

php列出mysql表所有行和列的方法

 这篇文章主要介绍了php列出mysql表所有行和列的方法,涉及php操作mysql数据库的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了php列出mysql表所有行和列的方法.分享给大家供大家参考.具体实现方法如下: 代码如下: <html> <head> <title>Selecting Data</title> </head> <body> <?php $user = "root&quo