锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
聽聽聽-65e24聽聽聽
聽聽聽-12e-12
聽聽聽-1.2E-23
鍗佽繘鍒舵暣鏁幫細(xì)
聽聽聽61298040283768聽聽聽#榪欓噷鏁存暟鍒板簳鏈夊灝戜綅鐪嬩笉澶竻
聽聽聽61_298_040_283_768聽聽聽#榪欐牱灝辨竻妤氫簡錛?br />
闈炲崄榪涘埗鏁存暟錛?br />聽聽聽0377聽聽聽#鍏繘鍒舵暟
聽聽聽0xff聽聽聽#鍗佸叚榪涘埗鏁?br />聽聽聽0b1111111聽聽聽#浜岃繘鍒舵暟
聽聽聽娉細(xì)鏈変袱涓繘鍒惰漿鎹㈠嚱鏁幫細(xì)oct()鍜宧ex().
聽聽聽聽聽聽oct(144);聽聽聽#榪欓噷鎶婁竴涓叓榪涘埗鏁拌漿鎹負(fù)10榪涘埗鏁?br />聽聽聽聽聽聽100
聽聽聽聽聽聽hex(64);聽聽聽#榪欓噷鎶婁竴涓崄鍏繘鍒舵暟杞崲涓?0榪涘埗鏁?br />聽聽聽聽聽聽100
鏁板瓧鎿嶄綔絎︼細(xì)
聽聽聽perl浼?xì)鑷姩璇嗗埆璁〗帡缁撴灉鏄暣鏁皹q樻槸嫻偣鏁般?br />聽聽聽渚嬶細(xì)10.2聽聽聽/聽聽聽0.3聽聽聽#鏁存暟34
聽聽聽聽聽聽聽聽聽聽聽聽10聽聽聽/聽聽聽3聽聽聽#嫻偣鏁?.3333333.....
聽聽聽
聽聽聽2 ** 3聽聽聽#榪欓噷鐨勯樁涔樺緢鏈夌敤鐨勶紒
聽聽聽8
聽聽聽娉細(xì)澶嶆暟鍙互鏌ユ壘CPAN Math::Complex妯″潡銆?br />
鏂囨湰
聽聽聽鍗曞紩鍙?br />聽聽聽聽聽聽娉細(xì)鍗曞紩鍙風(fēng)殑瀛楃涓蹭笉鑳戒嬌鐢ㄨ漿涔夊拰鍙橀噺銆?br />聽聽聽聽聽聽渚嬶細(xì)'hello\n'
聽聽聽聽聽聽聽聽聽聽聽聽hello\n
聽聽聽
聽聽聽鍙屽紩鍙蜂嬌鐢ㄧ殑杞箟絎?br />聽聽聽聽聽聽褰㈠紡聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽杞箟聽
聽聽聽聽聽聽\n聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽newline
聽聽聽聽聽聽\r聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽鍥炶濺
聽聽聽聽聽聽\t聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽tab
聽聽聽聽聽聽\f聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽鎹㈢焊
聽聽聽聽聽聽\b聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽閫鏍奸敭
聽聽聽聽聽聽\a聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽bell
聽聽聽聽聽聽\e聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽Escape寤?br />聽聽聽聽聽聽\007聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽鍏繘鍒舵暟
聽聽聽聽聽聽\x7F聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽鍗佸叚榪涘埗鏁?br />聽聽聽聽聽聽\cC聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽鎺у埗瀛楃
聽聽聽聽聽聽\\聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽\
聽聽聽聽聽聽\"聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽"
聽聽聽聽聽聽\l聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽涓嬩竴涓瓧絎﹁漿鎹負(fù)灝忓啓
聽聽聽聽聽聽\L聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽鍒癨E緇撴潫鐨勬墍鏈夌殑瀛楃杞崲涓哄皬鍐?br />聽聽聽聽聽聽\u聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽涓嬩竴涓瓧絎﹁漿鎹負(fù)澶у啓
聽聽聽聽聽聽\U聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽鍒癨E緇撴潫鐨勬墍鏈夌殑瀛楃杞崲涓哄ぇ鍐?br />聽聽聽聽聽聽\Q聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽鍒癨E緇撴潫鐨勬墍鏈夌殑瀛楃涓笉鏄嫳鏂囧崟璇嶇殑鍔犺漿涔夌銆?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽渚嬶細(xì)print "a \Qfd d %\E";
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽a fd\ d\ \%
聽聽聽聽聽聽\E聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽\L,\U,\Q鐨勭粨鏉熺銆?img src ="http://m.tkk7.com/ivanwan/aggbug/42222.html" width = "1" height = "1" />
]]>
聽聽聽@lines = `perldoc -u -f atan2`;
涓婇潰鐨勪唬鐮佸彲浠ヨ皟鐢╬erl鐨刾erldoc宸ュ叿騫朵笖榪斿洖鎵鏈夌殑緋葷粺淇℃伅銆傜湡鏄お紲炰簡錛?img src ="http://m.tkk7.com/ivanwan/aggbug/42206.html" width = "1" height = "1" />
]]>
##聽聽聽聽聽聽聽鑾峰彇鏈夊叧閽卞竵錛屾椂闂達紝絎﹀彿鐨勪俊鎭?br />$locale_values = localeconv();
for (sort keys %$locale_values) {
聽聽聽 printf "%-20s = %s\n", $_, $locale_values->{$_};
}
##聽聽聽聽聽聽鑾峰彇璇█鐨勬墍鏈変俊鎭?br />
## 鏈塋C_ALL, LANGUAGE, LC_CTYPE, LC_COLLATE,
## LC_MONETARY, LC_NUMBERIC, LC_TIME,
## LANG榪欎釜瑕佹崟鎹夐敊璇?鍥犱負(fù)鏈夌殑緋葷粺娌℃湁璁?
$old_locale = setlocale(LC_ALL);
print $old_locale;
聽聽聽
open(F, ">:utf8", "utf.txt");聽聽聽聽聽聽# 鑷姩緙栫爜鎴恥tf8.
print F @lines;
close(F);
榪欐牱鍙互鐪佸緱鍐嶆墦寮浠ュ悗鍦ㄧ紪鐮併?/p>
##聽聽聽聽聽聽榪欓噷鍙戣鍙湁浣跨敤Wx,Encode,Encode::CN,File::Glob榪欏洓涓ā鍧楁墠鑳介氳繃perl2exe緙栬瘧銆?br />
##聽聽聽聽聽聽浣嗘槸榪樻湁鎶妛xbase26u_gcc_custom.dll錛寃xmsw26u_adv_gcc_custom.dll錛寃xmsw26u_core_gcc_custom.dll
##聽聽聽聽聽聽鎷峰埌鐩綍涓嬫墠鑳借繍琛屻?br />
use strict;
use Wx;
use Encode;
use Encode::CN;
#use PerlIO;
#use POSIX;;
#use Getopt::Std;
use File::Glob;
# every program must have a Wx::App-derive class
package MyApp;
use vars qw(@ISA);
@ISA = qw(Wx::App);
# this is called automatically on object creation
sub OnInit {
聽 my( $this ) = shift;
聽 # create a new frame
聽 my( $frame ) = MyFrame->new();
聽 # set as top frame
聽 $this->SetTopWindow( $frame );
聽 # show it
聽 $frame->Show( 1 );
}
package MyFrame;
use vars qw(@ISA);
@ISA = qw(Wx::Frame);
use Wx::Event qw(EVT_PAINT);
# this imports some constants
use Wx qw(wxDECORATIVE wxNORMAL wxBOLD);
use Wx qw(wxDefaultPosition);
use Wx qw(wxWHITE);
sub new {
聽 # new frame with no parent, id -1, title 'Hello, world!'
聽 # default position and size 350, 100
聽 my( $this ) = shift->SUPER::new( undef, -1, 'Hello, world!',
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 wxDefaultPosition , [350, 100] );
聽 # create a new font object and store it
聽 $this->{FONT} = Wx::Font->new( 40, wxDECORATIVE, wxNORMAL, wxBOLD, 0 );
聽 # set background colour
聽 $this->SetBackgroundColour( wxWHITE );
聽 $this->SetIcon( Wx::GetWxPerlIcon() );
聽 # declare that all paint events will be handled with the OnPaint method
聽 EVT_PAINT( $this, \&OnPaint );
聽 return $this;
}
sub OnPaint {
聽 my( $this, $event ) = @_;
聽 # create a device context (DC) used for drawing
聽 my( $dc ) = Wx::PaintDC->new( $this );
聽 # select the font
聽 $dc->SetFont( $this->font );
聽 # darw a friendly message
聽 $dc->DrawText( 'Hello, world!', 10, 10 );
}
sub font {
聽 $_[0]->{FONT};
}
package main;
# create an instance of the Wx::App-derived class
my( $app ) = MyApp->new();
# start processing events
$app->MainLoop();
# Local variables: #
# mode: cperl #
# End: #
鎴戠幇鍦ㄨ繕涓嶇煡鏄負(fù)浠涔堛傚鏋滄湁鍝綅楂樻墜鐭ラ亾錛屽憡璇夊皬寮熶竴澹般?br />
璋㈣阿錛?/p>
![]() |
|
Unix 鐢ㄦ埛闈炲父鐔熸?zhèn)夊熮Z簬鏂囨湰鐨?UI 妯″瀷銆傝鎯蟲湁涓涓?Perl 紼嬪簭錛岃鎴戜滑鍏堢湅涓涓嬭繖涓ā鍨嬬敤浜庤紼嬪簭鐨勭畝鍗曞疄鐜般傛爣鍑嗙殑 Getopt::Std 妯″潡綆鍖栦簡鍛戒護琛屽弬鏁扮殑瑙f瀽銆傝繖涓▼搴忎粎浠呬負(fù)浜嗚鏄?Getopt::Std 妯″潡錛堟病鏈夊疄闄呯敤閫旓級銆? 璇峰弬闃呮湰鏂囧悗闈㈢殑鍙傝冭祫鏂欍?/p> 浣跨敤 Getopt::Std 鐨勫懡浠よ寮鍏?/b>
#!/usr/bin/perl -w
use strict; # always use strict, it's a good habit
use Getopt::Std; # see "perldoc Getopt::Std"
my %options;
getopts('f:hl', \%options); # read the options with getopts
# uncomment the following two lines to see what the options hash contains
#use Data::Dumper;
#print Dumper \%options;
$options{h} && usage(); # the -h switch
# use the -f switch, if it's given, or use a default configuration filename
my $config_file = $options{f} || 'first.conf';
print "Configuration file is $config_file\n";
# check for the -l switch
if ($options{l})
{
system('/bin/ls -l');
}
else
{
system('/bin/ls');
}
# print out the help and exit
sub usage
{
print <<EOHIPPUS;
first.pl [-l] [-h] [-f FILENAME]
Lists the files in the current directory, using either /bin/ls or
/bin/ls -l. The -f switch selects a different configuration file.
The -h switch prints this help.
EOHIPPUS
exit;
}
聽聽聽#!/usr/bin/perl 聽聽聽# sum - compute 16-bit checksum of all input files 聽聽聽$checksum = 0; 聽聽聽while (<>) { $checksum += unpack("%16C*", $_) } 聽聽聽$checksum %= (2 ** 16) - 1; 聽聽聽print "$checksum\n";
聽聽聽聽聽聽Here's an example of its use:
聽聽聽% perl sum /etc/termcap 聽聽聽1510
聽聽聽If you have the GNU version of sum, you'll need to call it with the 鈥攕ysv option to get the same answer on the same file.聽聽聽% sum --sysv /etc/termcap 聽聽聽1510 851 /etc/termcap
涓涓緇嗙殑渚嬪瓙錛?br />
#!/usr/bin/perl # slowcat - emulate a s l o w line printer # usage: slowcat [-DELAY] [files ...] $DELAY = ($ARGV[0] =~ /^-([.\d]+)/) ? (shift, $1) : 1; #榪欓噷[.]鍙栨秷浜?鐨勭壒孌婃с備嬌鍏朵負(fù)涓鑸剰涔夈俿hift縐婚櫎浜咢ARGV絎竴涓彉閲忓拰闀垮害鍑忎竴銆? $| = 1; #涓嶄負(fù)0灝卞己琛屾竻絀鴻緭鍑烘垨鎵撳嵃銆? while (<>) { #<>涓篅ARGV鎸囧畾鐨勬枃浠跺彞鏌? for (split(//)) { print; select(undef,undef,undef, 0.005 * $DELAY); #select鍑芥暟璁劇疆灞忓箷杈撳嚭銆傝繖閲屾槸璁劇疆寤惰繜銆? } }
perlcn - 綆浣撲腑鏂?Perl 鎸囧崡
嬈㈣繋鏉ュ埌 Perl 鐨勫ぉ鍦?
浠?5.8.0 鐗堝紑濮? Perl 鍏峰浜嗗畬鍠勭殑 Unicode (緇熶竴鐮? 鏀彺, 涔熻繛甯︽敮鎻翠簡璁稿鎷変竵璇郴浠ュ鐨勭紪鐮佹柟寮? CJK (涓棩闊? 渚挎槸鍏朵腑鐨勪竴閮ㄤ喚. Unicode 鏄浗闄呮х殑鏍囧噯, 璇曞浘娑電洊涓栫晫涓婃墍鏈夌殑瀛楃: 瑗挎柟涓栫晫, 涓滄柟涓栫晫, 浠ュ強涓よ呴棿鐨勪竴鍒?(甯岃厞鏂? 鍙欏埄浜氭枃, 浜氭媺浼枃, 甯屼集鏉ユ枃, 鍗板害鏂? 鍗板湴瀹夋枃, 絳夌瓑). 瀹冧篃瀹圭撼浜嗗縐嶄綔涓氱郴緇熶笌騫沖彴 (濡?PC 鍙婇害閲戝).
Perl 鏈韓浠?Unicode 榪涜鎿嶄綔. 榪欒〃紺?Perl 鍐呴儴鐨勫瓧絎︿覆鏁版嵁鍙敤 Unicode 琛ㄧず; Perl 鐨勫嚱寮忎笌綆楃 (渚嬪姝h琛ㄧず寮忔瘮瀵? 涔熻兘瀵?Unicode 榪涜鎿嶄綔. 鍦ㄨ緭鍏ュ強杈撳嚭鏃? 涓轟簡澶勭悊浠?Unicode 涔嬪墠鐨勭紪鐮佹柟寮忓瓨鏀劇殑鏁版嵁, Perl 鎻愪緵浜?Encode 榪欎釜妯″潡, 鍙互璁╀綘杞繪槗鍦拌鍙栧強鍐欏叆鏃ф湁鐨勭紪鐮佹暟鎹?
Encode 寤朵幾妯″潡鏀彺涓嬪垪綆浣撲腑鏂囩殑緙栫爜鏂瑰紡 ('gb2312' 琛ㄧず 'euc-cn'):
euc-cn Unix 寤朵幾瀛楃闆? 涔熷氨鏄織縐扮殑鍥芥爣鐮?br /> gb2312-raw 鏈粡澶勭悊鐨?(浣庢瘮鐗? GB2312 瀛楃琛?br /> gb12345 鏈粡澶勭悊鐨勪腑鍥界敤綣佷綋涓枃緙栫爜
iso-ir-165 GB2312 + GB6345 + GB8565 + 鏂板瀛楃
cp936 瀛楃爜欏?936, 涔熷彲浠ョ敤 'GBK' (鎵╁厖鍥芥爣鐮? 鎸囨槑
hz 7 姣旂壒閫稿嚭寮?GB2312 緙栫爜
涓句緥鏉ヨ, 灝?EUC-CN 緙栫爜鐨勬。妗堣漿鎴?Unicode, 紲楅渶閿叆涓嬪垪鎸囦護:
perl -Mencoding=euc-cn,STDOUT,utf8 -pe1 < file.euc-cn > file.utf8
Perl 涔熷唴闄勪簡 ``piconv'', 涓鏀畬鍏ㄤ互 Perl 鍐欐垚鐨勫瓧絎﹁漿鎹㈠伐鍏風(fēng)▼搴? 鐢ㄦ硶濡備笅:
piconv -f euc-cn -t utf8 < file.euc-cn > file.utf8
piconv -f utf8 -t euc-cn < file.utf8 > file.euc-cn
鍙﹀, 鍒╃敤 encoding 妯″潡, 浣犲彲浠ヨ交鏄撳啓鍑轟互瀛楃涓哄崟浣嶇殑紼嬪簭鐮? 濡備笅鎵紺?
#!/usr/bin/env perl
# 鍚姩 euc-cn 瀛椾覆瑙f瀽; 鏍囧噯杈撳嚭鍏ュ強鏍囧噯閿欒閮借涓?euc-cn 緙栫爜
use encoding 'euc-cn', STDIN => 'euc-cn', STDOUT => 'euc-cn';
print length("楠嗛┘"); # 2 (鍙屽紩鍙瘋〃紺哄瓧絎?
print length('楠嗛┘'); # 4 (鍗曞紩鍙瘋〃紺哄瓧鑺?
print index("璋嗚皢鏁欒", "铔斿敜"); # -1 (涓嶅寘鍚瀛愬瓧絎︿覆)
print index('璋嗚皢鏁欒', '铔斿敜'); # 1 (浠庣浜屼釜瀛楄妭寮濮?
鍦ㄦ渶鍚庝竴鍒椾緥瀛愰噷, ``璋?' 鐨勭浜屼釜瀛楄妭涓?``璋?' 鐨勭涓涓瓧鑺傜粨鍚堟垚 EUC-CN 鐮佺殑 ``铔?'; ``璋?' 鐨勭浜屼釜瀛楄妭鍒欎笌 ``鏁?' 鐨勭涓涓瓧鑺傜粨鍚堟垚 ``鍞?'. 榪欒В鍐充簡浠ュ墠 EUC-CN 鐮佹瘮瀵瑰鐞嗕笂甯歌鐨勯棶棰?
璇峰弬鑰?Perl 鍐呴檮鐨勫ぇ閲忚鏄庢枃浠?(涓嶅垢鍏ㄦ槸鐢ㄨ嫳鏂囧啓鐨?, 鏉ュ涔?fàn)鏇村鍏充? Perl 鐨勭煡璇? 浠ュ強 Unicode 鐨勪嬌鐢ㄦ柟寮? 涓嶈繃, 澶栭儴鐨勮祫婧愮浉褰撲赴瀵?
the Encode manpage, the Encode::CN manpage, the encoding manpage, the perluniintro manpage, the perlunicode manpage
Jarkko Hietaniemi <jhi@iki.fi>
Autrijus Tang (鍞愬畻姹? <autrijus@autrijus.org>
$dir = shift(@ARGV) || "/tmp"; #濡傛灉娌℃湁鍙傛暟,,灝辮繑鍥?/tmp".
$dir = defined($ARGV[0]) ? shift(@ARGV) : "/tmp";
2.shift鍑芥暟:
縐誨嚭絎竴涓暟緇勫厓绱?騫惰繑鍥?
$string = q[Jon 'Maddog' Orwant]; # literal single quotes
$string = q{Jon 'Maddog' Orwant}; # literal single quotes
$string = q(Jon 'Maddog' Orwant); # literal single quotes
$string = q<Jon 'Maddog' Orwant>; # literal single quotes
3.鐗規(guī)畩瀛楃鍖呮嫭 "\n" (鏂拌), "\033" (鍏繘鍒舵暟鐨勫瓧絎?3), "\cJ" (Ctrl-J), "\x1B" (鍗佸叚榪涘埗鐨勫瓧絎?br /> 0x1B).
4.鐩存帴杈撳叆澶氳:
$a = <<"EOF"; #鎸囨槑浜咵OF涓虹粨鏉熺
This is a multiline here document
terminated by EOF on a line by itself
EOF
5.prinf鍑芥暟
$char = chr(0x394);
$code = ord($char);
printf "char %s is code %d, %#04x\n", $char, $code, $code; # %#04x琛ㄧず鍗犲洓浣嶅崄鍏繘鍒舵暟灝戠殑璇濈敤0琛ラ綈
charDis code 916, 0x394