文档章节

Perl分割字符串的一个精妙的写法

ifeixiang
 ifeixiang
发布于 2014/10/31 17:49
字数 199
阅读 11
收藏 0
 1 #!/usr/bin/perl -w
 2 use strict;
 3 use warnings;
 4 
 5 #分割字符串的一个精妙的写法
 6 sub spliteName
 7 {
 8     my $fileName = shift ;
 9     my $arr_hash_ref = shift ;
10     open my $fd ,'<',$fileName or die "open file $fileName error!";
11     #文件格式如 :
12     #    girl: lily lucy may hallen # 关键字:名字(使用空格分开) 
13     while( <$fd> )
14     {
15         #这种方法先将属性项保存在$1中去掉,再将剩下的用splite分隔得到数组,非常精妙
16         next unless s/^(.+?):\s*// ;
17         $$arr_hash_ref{$1} = [ split ];
18     }
19 }
20 
21 sub main
22 {
23     my $fileName = "test.txt";
24     my %array_hash ;
25     spliteName($fileName,\%array_hash);
26     print_arr_hash(\%array_hash);
27 }
28 main();
29 
30 sub print_arr_hash
31 {
32     my $arr_hash_ref = shift ;
33     for my $key (keys %$arr_hash_ref)
34     {
35         #注意这里是打印整个数组, 所以记得加上 @ 
36         print "$key:@{$$arr_hash_ref{$key}} \n";
37     }
38 }

 

© 著作权归作者所有

ifeixiang
粉丝 16
博文 270
码字总数 99506
作品 0
广州
程序员
私信 提问
PHP 正则表达式匹配 preg_match 与 preg_match_all 函数

正则表达式在 PHP 中的应用 在 PHP 应用中,正则表达式主要用于: 正则匹配:根据正则表达式匹配相应的内容 正则替换:根据正则表达式匹配内容并替换 正则分割:根据正则表达式分割字符串 在...

ywppengpeng
2016/11/14
2
0
如何理解javascript写在大括号中的参数

这种写法充斥在jquery中,尤其是插件的写法更多,当然初步理解是做对象,但知道这,还不能真正的理解,主要是为什么能这么写呢,可能有人说这是规定,这种解释是菜鸟级人物的说法,还请高手指...

lghyt
2016/05/26
413
5
在 Linux 中如何删除文件中的空行

有时你可能需要在 Linux 中删除某个文件中的空行。如果是的,你可以使用下面方法中的其中一个。有很多方法可以做到,但我在这里只是列举一些简单的方法。 你可能已经知道 、 和 命令是专门用...

作者: Magesh Maruthamuthu
03/17
0
0
Python3 Cookbook | 字符串和文本

以下测试代码全部基于 Python3。 字符串操作在程序中的出现频率相当高,包括分割,替换,拼接等等,这篇文章介绍五个最常遇到的问题,希望给你带来一些思考。 1、使用多个界定符分割字符串 ...

yongxinz
2017/11/30
0
0
python-78:对日期格式进行处理

好,这一小节来讲讲怎么对日期格式进行处理,我们再来看看那难看的日期,这将会是它最后一次出现在我们的视线中 2016/01/14 · 我们的处理就是将空格,特殊字符和字符去掉,最后只保留 "201...

达岭凹老大
2016/01/21
52
0

没有更多内容

加载失败,请刷新页面

加载更多

centos7 新手阿里云服务器安装mongodb

简介 MongoDB 是一个基于分布式 文件存储的NoSQL数据库 由C++语言编写,运行稳定,性能高 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案 MongoDB特点 模式自由 :可以把不同结构的文档存...

醉雨
17分钟前
1
0
sql注入漏洞,应屏蔽SQL注入攻击

注:SQL注入好比是前端URL传参数请求时参数以SQL 做为参数传入,如 select 1 from dual where 1=1 or 1=1 and 1=2;(类似这样的SQL语句) 防御方法 如果自己编写防注代码,一般是先定义一个函...

颜丽
17分钟前
1
0
装饰者模式

 代理模式与装饰者模式看起来很像,都实现基础对象实现的接口,在其自身对象中都保存着对被代理/被装饰者的对象引用。   先来看看装饰者模式的定义:动态的将责任附加到被装饰者对象上,用...

铁骨铮铮
21分钟前
0
0
我为什么飞行 10000 公里去西班牙参加 KubeCon?

2019 年 5 月 20 日至 23 日, 由 Cloud Native Computing Foundation (CNCF) 主办的云原生技术大会 KubeCon + CloudNativeCon EU(欧洲场)即将在热情洋溢的巴塞罗那盛装启幕。 作为云计算领...

zhaowei121
39分钟前
0
0
Node.getTextContent() not found 解决办法【不需要调整builder path下面包顺序】

新导入的工程,w3c的getTextContent找不到,response的setCharacterEncoding找不到,网上很多教程都是“调整工程builder path的lib包顺序把jre、tomcat调到上面即可”,但是进入项目的build...

嘿嘿嘿IT
46分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部