jiewencai的个人博客分享 http://blog.sciencenet.cn/u/jiewencai

博文

Perl中数组&哈希的使用

已有 9791 次阅读 2012-10-4 13:57 |个人分类:Perl|系统分类:科研笔记| Perl, array, 数组, hash, 散列

一、数组
1.创建
  a.普通数组的创建:@array = qw /a b c/; @array=("a","b","c"); @array=(1,2,3);
  b.匿名数组的创建:$array_ref = [qw/a b c/]; $array_ref=["a","b","c"];
    数组的引用的创建:$array_ref = /@array;
  c.使用slice方法创建:@array = @array_all[1,5,0,7]; @array=(split /\s+/ ,$scalar)[0,-1];
2.使用
  a.$array[0] , $array[1]; @array;# 哎,科学网的编辑器有问题,此处array前少了"$"符号。下文的黑体所在行的字            符都无法正确显示,请注意辨别。
  b.$array_ref->[0]; ${$array_ref}[0];#使用单个元素.
    @{$array_ref};#使用整个数组.
  c.@array[1,5,0,7];#使用数组中索引值为1、5、0、7的元素,并按该顺序返回.
注意区别@arrray=(...)$array_ref=[...];

二、哈希
1.创建
  a.普通哈希的创建:$hash{a}="abc"; $hash{b}="def";
    %hash=(a=>"abc",b=>"def");
  b.匿名哈希的创建:$hash_ref = {a=>"abc",b=>"def"};
    哈希的引用的创建:$hash_ref=/%hash;
  c.使用slice方法创建:@pleyers = qw/barney fred dino/;
@bowling_scores=(195,205,30);
@score{@players}=@{bowling_scores};
#此处的@score{@players}等价于( $score{barney},$score{fred},$score{dino});即同时对%score          这个哈希的三个元素赋值;
注意区别%hash=(...);$hash_ref={...};
2.使用
  a.$hash{a}; %hash
  b.$hash_ref->{a};  ${$hash_ref}{a};#使用单个元素;
    %{$hash_ref};#使用整个哈希;
  c.@score{@players}=@{bowling_scores};#看作($score{barney} , $score{fred} , $score{dino});

参考资料:1. perl---(数组和哈希)引用 
       3.《perl语言入门》的“array slice”、“hash slice”;




https://blog.sciencenet.cn/blog-630246-619145.html


下一篇:phred33 or phred64
收藏 IP: 202.195.247.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-17 04:43

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部