perl中tr的用法(转载)

转载:http://blog.sina.com.cn/s/blog_4a0824490101hncz.html

(1)/c表示把匹配不上的字符进行替换.

$temp="AAAABCDEF";

$count=$temp=~tr/A/H/c;

print "$temp\t$count\n";

结果:AAAAHHHHH 5

(2)/d:表示把匹配上的字符全部替换

$temp="AAAABCDEF";

$count=$temp=~tr/A/H/d;

print "$temp\t$count\n";

结果:HHHHBCDEF 4

(3)/s:表示如果要替换的字符中出现连续多个一样的字符,则去冗余:

$temp="AAAABCDEF";

$count=$temp=~tr/A/H/ds;

print "$temp\t$count\n";

结果:HBCDEF 4

$temp="AAAABCDEF";

$count=$temp=~tr/A/H/cs;

print "$temp\t$count\n";

结果:AAAAH 5

=============================================================

另外,我再总结一下tr的用处:

$count=$temp=~tr/A//; #表示计算$temp中出现A的次数,$temp并不改变值

$count=$temp=~tr/A/A/; #表示计算$temp中出现A的次数,$temp并不改变值 和上面的意思一样的


$temp="AAAABCDEF";

$count=$temp=~tr/[A-Z]/[a-z]/;
#表示进行大小写转换

print "$temp\t$count\n";

结果:aaaabcdef

如果写成$count=$temp=~tr/[A-Z]/[A-Z]/; 则$temp不会改变,仅统计$temp里面大写字母的个数

结果:AAAABCDEF
9

时间: 2024-10-30 20:30:16

perl中tr的用法(转载)的相关文章

[Perl系列—] 2. Perl 中的引用用法

Perl 中的引用,为什么要使用引用? 对于熟悉C语言的开发者来说, 指针这个概念一定不陌生. Perl 的引用就是指针,可以指向变量.数组.哈希表甚至子程序. Perl5中的两种Perl引用类型为硬Perl引用和符号Perl引用.符号Perl引用含有变量的名字,它对运行时创建变量名并定位很有用,基本上,符号Perl引用就象文件名或UNIX系统中的软链接.而硬Perl引用则象文件系统中的硬链接. Perl4只允许符号Perl引用,给使用造成一些困难.例如,只允许通过名字对包的符号名哈希表(名为_

SQL中CASE 的用法 转载

sql语言中有没有类似C语言中的switch case的语句?? 没有,用case   when   来代替就行了.              例如,下面的语句显示中文年月 select getdate() as 日期,case month(getdate()) when 11 then '十一' when 12 then '十二' else substring('一二三四五六七八九十', month(getdate()),1) end+'月' as 月份 ===================

C#中Dictionary的用法 [转载]

在C#中,Dictionary提供快速的基于兼职的元素查找.他的结构是这样的:Dictionary<[key], [value]> ,当你有很多元素的时候可以使用它.它包含在System.Collections.Generic名空间中.在使用前,你必须声明它的键类型和值类型. 要使用Dictionary集合,需要导入C#泛型命名空间 System.Collections.Generic(程序集:mscorlib) Dictionary的描述 1.从一组键(Key)到一组值(Value)的映射,

C中的volatile用法[转载]

volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化.). 例如: volatile int i=10; int j = i; ... int k = i; volatile 告诉编译器i是随时可能发生变化的,每次使用它的时候必须从i的地址中读取,因而编译器生成的可执行码会重新从i

Liunx 中tr的用法

1.将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中cat /etc/issue |tr a-z A-Z > /tmp/issue.out2.将当前系统登录用户的信息转换为大写后保存至/tmp/who.out文件中who | tr a-z A-Z >> who.out3.一个linux用户给root发邮件,要who求邮件标题为"help",邮件正文如下:Hello, I am 用户名,The system version is h

Java中Timer的用法--转载之网络

用法很简单,new一个timer,然后写一个timertask的子类即可. import java.util.Timer; import java.util.TimerTask; public class M { public static void main(String[] args) { // TODO todo.generated by zoer Timer timer = new Timer(); timer.schedule(new MyTask(), 1000, 2000); }

spring 中StoredProcedure的用法--转载

StoredProcedure是一个抽象类,必须写一个子类来继承它,这个类是用来简化JDBCTemplate执行存储过程操作的. 首先我们写一个实现类: package com.huaye.framework.dao; import java.sql.Types; import java.util.HashMap; import java.util.Map; import org.springframework.jdbc.core.RowMapper; import org.springfram

[转]c++ 中__declspec 的用法

c++ 中__declspec 的用法 转载地址:http://www.cnblogs.com/ylhome/archive/2010/07/10/1774770.html c++ 中__declspec 的用法 语法说明: __declspec ( extended-decl-modifier-seq ) 扩展修饰符: 1:align(#) 用__declspec(align(#))精确控制用户自定数据的对齐方式 ,#是对齐值. e.g __declspec(align(32)) struct

perl中my和our的区别分析

来源: http://www.jb51.net/article/35528.htm perl中our的用法require 5.006当版本号小于 5.006 的时候,会返回失败,从而导致模块加载失败.所以它的作用就是保证模块调用环境的 Perl 版本. our 和 my 一样,都是对变量的声明,不过 our 声明的是包全局变量,而 my 声明的是词法变量. 不过,经过 our 声明的变量,它会变得像一个词法变量一样,其实这也是 our 存在的目的:用来欺骗 strict pragma,使 str