C1 C2 C3 C4 C5
11 12 13 14 15
21 22 23 24 25
my $data = [
[11,12,13,14,15],
[21,22,23,24,25]
];
my $column_ids = ["C1", "C2", "C3", "C4", "C5"];
# %h - {'C1'=>'x1', 'C2'=>'x2', 'C3'=>'x3', 'C5'=>'x4', 'C5'=>'x5'}
my $results = [map { my %h; @h{ @$column_ids } = split(",", $_); \%h } @$data];
results得到一个hash数组
results[0] - {'C1'=>'11', 'C2'=>'12', 'C3'=>'13', 'C5'=>'14', 'C5'=>'15'}
results[1] - {'C1'=>'21', 'C2'=>'22', 'C3'=>'23', 'C5'=>'24', 'C5'=>'25'}
http://stackoverflow.com/questions/95820/in-perl-how-do-i-create-a-hash-whose-keys-come-from-a-given-array
分享到:
相关推荐
- **变量**:Perl支持多种类型的变量,如标量(scalar)、数组(array)、哈希(hash)等,以及引用(reference)机制,允许创建复杂的数据结构。 - **正则表达式**:Perl的正则表达式功能强大且灵活,可以进行模式...
Perl 5.8是Perl的一个重要版本,引入了许多新特性,比如增强了正则表达式、改进了Unicode支持、引入了新的数据类型(例如array slice和hash slice)以及改进了模块安装系统CPAN(Comprehensive Perl Archive Network...
4. **数据处理**:DBI提供了一系列的函数用于处理查询结果,如fetchrow_array、fetchrow_hashref等,便于将结果集转化为数组或哈希。 5. **事务管理**:支持开始、提交、回滚事务,确保数据的一致性和完整性。 6. ...
- 变量:Perl支持多种类型的变量,如标量(scalar)、数组(array)和哈希(hash)。变量前缀$表示标量,@表示数组,%表示哈希。 - 引号:单引号(')内的字符串不进行特殊字符转义,双引号(")则会解析特殊字符,如`...
Array and Hash Functions Perl内置了一些用于操作数组和哈希的函数。 - **push`、`pop**:向数组添加或移除元素。 - **shift`、`unshift**:向数组开头添加或移除元素。 ### 15. Regular Expressions Perl拥有...
my @array = ("Apple", "Banana", "Cherry"); # 哈希变量 my %hash = (key1 => "value1", key2 => "value2"); ``` **正则表达式** Perl内置了对正则表达式的强大支持,这使得它在文本处理方面非常高效。例如,...
根据数据类型,还可以有数组`@array`和哈希 `%hash`。 - 变量不需要预先声明,但使用`strict`模式时需要先声明。 3. **字符串和数值操作** - Perl支持字符串和数值运算,如连接字符串、比较数值、算术运算等。 -...
2. **变量**:Perl中的变量以符号`$`开头,如`$var`,对于数组则使用`@array`,哈希(关联数组)使用`%hash`。`ex02.pl`和`ex03.pl`可能涉及到变量的声明和使用,包括变量赋值、类型转换以及变量作用域的概念。 3. ...
or die "Could not connect to database: " . DBI->errstr; # 准备SQL查询 my $sth = $dbh->prepare("SELECT * FROM mytable"); # 执行查询 $sth->execute(); # 获取结果集 my @results; while (my $row = $sth-...
- **处理结果集**:`fetchrow_array`, `fetchrow_hashref`等方法用于从结果集中获取一行数据,可以是数组或哈希引用形式。 - **事务管理**:支持开始、提交和回滚事务,确保数据的一致性。 2. **驱动器(Drivers...
例如,`.` 是字符串连接操作符,`@array` 和 `%hash` 分别表示数组和哈希。 其次,Perl中的控制结构是程序逻辑的关键。`if...else`、`for`、`while`、`foreach` 循环以及子程序(subroutine)是编程中常见的控制...
例如,`$count` 是一个标量变量,`@array` 是一个数组,`%hash` 是一个哈希。 2. **字符串和数字**:Perl自动处理字符串和数字的转换,无需显式声明数据类型。 3. **控制结构**:包括条件语句(if/elsif/else)、...
数组和哈希(关联数组)分别用@和%表示,如:@array 和 %hash。Perl支持多种数据类型,包括标量、数组、哈希、引用、子例程等。 Perl的控制结构类似于C语言,有if...else、while、for等。条件表达式和比较运算符与C...
Raku的语法使得这样的任务变得非常直观,你可以利用其内置的数据结构(如Array或Hash)来存储和检索单词,并利用列表操作符和方法来过滤、排序或统计词汇。 此外,Raku的模块系统使得扩展和定制这个词汇列表变得...
- 变量:Perl中的变量以符号开头,如`$var`, `@array`, `%hash`等,分别表示标量、数组和哈希。 - 控制结构:包括条件语句(if/else)、循环(while、for、foreach)和流程控制(last, next, redo)。 - 函数:...