存档

‘Perl’ 分类的存档

使用Unicode::UCD获取Unicode字符信息

2012年3月13日 没有评论

Unicode::UCD可以获取Unicode字符信息。Perl 5.12以上版本包含了此模块,而5.10只有升级到更高的版本才能使用该模块。下面是获取汉字“淮”Unicode信息的例子:

#!/usr/bin/perl
use strict;
use warnings;
use Unicode::UCD 'charinfo';
use charnames ':full';
use Data::Dumper;

my $charinfo = charinfo(ord( "\N{U+6dee}" ));

print Dumper $charinfo;
print "显示汉字 ";
binmode STDOUT, ":utf8";
print "\N{U+6dee}\n";

打印的结果:

$VAR1 = {
  'digit' => '',
  'bidi' => 'L',
  'category' => 'Lo',
  'code' => '6DEE',
  'script' => 'Han',
  'combining' => 0,
  'upper' => '',
  'name' => 'CJK UNIFIED IDEOGRAPH-6DEE',
  'unicode10' => '',
  'decomposition' => '',
  'comment' => '',
  'mirrored' => 'N',
  'lower' => '',
  'numeric' => '',
  'decimal' => '',
  'title' => '',
  'block' => 'CJK Unified Ideographs'
  };
显示汉字 淮

汉字的Unicode字符集可以在此处获取。一些Unicode图形(表情)可以参考这里。注意,如果要在系统中显示该表情图形或文字,必须要确定该表情图形和文字在系统字符映射表中有对应的条目,否则是无法正常显示的。比如笑脸”WHITE SMILING FACE”在字符映射表中有对应的条目,可以打印出来“☺”;而“SMILING CAT FACE WITH OPEN MOUTH”没有对应条目就无法正常显示了。Perl的charnames是访问Unicode集较为方便的接口,“\N“可在运行时编译后面花括号{}中的十六进制数和Unicode名称,比如\N{U+263a}和\N{WHITE SMILING FACE}都可以打印出笑脸。

Perl升级到v5.15.8

2012年3月13日 没有评论

Perl最新的开发版本是今年2月20日放出的5.15.8。参考手册,在Ubuntu上从Perl 5.10升级到这个版本:

1. 下载源码:

# wget http://www.cpan.org/src/5.0/perl-5.15.8.tar.gz
# tar xvf perl-5.15.8.tar.gz

2. 编译

# cd perl-5.15.8
# sh Configure -Dinstallusrbinperl  
# make
# make test
# make install

3.检查

# whereis perl
# perl -v
This is perl 5, version 15, subversion 8 (v5.15.8) built for i686-linux
Copyright 1987-2012, Larry Wall
# /usr/bin/perl -v
This is perl 5, version 15, subversion 8 (v5.15.8) built for i686-linux
Copyright 1987-2012, Larry Wall

-Dinstallusrbinperl使编译后的/usr/bin/perl链接为新版本perl,如果不使用此项,/usr/bin/perl -v 仍然显示为5.10。为了方便起见,最好使用此选项。

顺便升级CPAN:

#perl -MCPAN -e shell
cpan>install Bundle::CPAN
分类: Perl 标签: ,