字符与数值的转换
$value = ord("e"); # now 101 $character = chr(101); # now "e" printf("Number %d is character %c\n", 101, 101); @ascii_character_numbers = unpack("C*", "sample"); print "@ascii_character_numbers\n"; #115 97 109 112 108 101 $word = pack("C*", @ascii_character_numbers); #sample
Unicode::Normalize的NFD函数可以用来比较两个含unicode的字符串
Text::Tabs 用于tab与space之间的转换
Text::Wrap,Text::Autoformat 整理文本
Term::ReadKey 终端
Text::ParseWords,Text::CSV 解析文本
指定函数名
use subs qw(AVOGADRO); local *AVOGADRO = sub ( ) { 6.02252e23 };
Scalar::Util 标量处理
Math::TrulyRandom 随机数
Math::Complex,PDL 数学模块
给整数部分加逗号:
sub commify { my $text = reverse $_[0]; $text =~ s/(\d\d\d)(?=\d)(?!\d*\.)/$1,/g; return scalar reverse $text; }
Time::localtime,Time::gmtime,Time::Local
Time::HiRes 时间处理
1秒以下的sleep 可以用 Time::HiRes qw(sleep);
perldoc -f splice 数组处理
List::Util 数组增强
Hash::Util 散列增强
Tie::IxHash 保持输入的顺序
%C = (%A, %B); 散列合并
Tie::RefHash 允许引用作为散列的key
表6-1 模式匹配的修饰符
递归匹配:
my $np; $np = qr{ \( (?: (?> [^( )]+ ) # Non-capture group w/o backtracking | (??{ $np }) # Group with matching parens )* \) }x;
没有评论:
发表评论