2-2 ç´”é?:å?ä¸?

°£¤F¼Æ­È¥~¡A¦r¦ê¤]¬OÄÝ©ó Perl ªº¯Â¶q¸ê®Æ«¬ºA¡C¥Ñ©ó Perl ³Ì±j¤jªº¥\¯à´N¦b©ó¤å¦r³B²z»P¤ñ¹ï¡A¦]¦¹¦r¦ê¬O¤@­Ó«Ü­«­nªº¸ê®ÆÃþ§O¡C

¦b Perl ¤¤¡A¤j³¡¤Àªº¦r¦ê³£¥ÎÂù¤Þ¸¹¡]Double Quote¡^¨Ó¬É©w¡A¦Ó¦bÂù¤Þ¸¹¤¤ªºÅܼơA«h·|³Q¥N´«¦¨ÅܼƭȡA¨Ò¦p¡G

$name = "Timmy"; # $name ªº­È¬O "Timmy" $str1 =¡§My name is $name"; # $str1 ªº­È¬O "My name is Timmy" ¦b¤W¨Ò¤¤¡A­Y¤£§Æ±æ $name ªº­È³Q¥N´«¦¨ "Timmy"¡A«h§Ú­Ì¥i¦b $name ¤§«e¥[¤W¤@­Ó¤Ï±×½u¡G $str2 = "My name is \$name"; # $str2 ªº­È¬O "My name is $name" ¥t¤@ºØ§@ªk¡A«h¬O¥H³æ¤Þ¸¹¡]Single Quote¡^¨Ó¬É©w¦r¦ê¡A¦¹®É Perl ´N¤£·|¹ï¨ä¤ºªºÅܼƶi¦æ¥N´«¡A¨Ò¦p¡G $str3 = 'My name is $name'; # $str3 ªº­È¬O "My name is $name" ­Y­n±N¦r¦ê¬Û³s¡A¥i¥Î¥yÂI²Å¸¹¡A¦p¤U¡G $str4 = "Timmy is " . (2*5) . "years old"; # $str4 ªº­È¬O "Timmy is 10 years old" ½Ðª`·N¦b¤W¨Ò¤¤¡A(2*5) ¬O¼Æ­È¹Bºâ¡A¨äµ²ªG¬°¼Æ­È 10¡APerl ·|±N¼Æ­È 10 Âন¦r¦ê "10"¡A¦A¶i¦æ¦r¦ê³s±µªº°Ê§@¡C´«¥y¸Ü»¡¡APerl ·|¶i¦æ¥²­nªºÂà´«¡AÅý¼Æ­È©M¦r¦ê²V¦Xªº¹Bºâ¡A¯à°÷¶¶§Qªº§¹¦¨¡C

§A¥i¥H¥Î length ¨ç¼Æ¨Ó­pºâ¦r¦êªºªø«×¡A¨Ò¦p¡G

$leng = length($str4); # ­pºâ $str4 ªºªø«×¡A¶Ç¦^­È¬O 21 §A¤]¥i¥H¥Î¡ux¡v¹Bºâ¨Ó¶i¦æ¦r¦êªº­«½Æ¡A¨Ò¦p¡G $name = "Roger"; $repeat = $name x 3; # $repeat ªº­È¬O "RogerRogerRoger" ¥Ñ©ó¡ux¡v¹Bºâ¬O§â«e­±ªº¹Bºâ¤¸¬Ý¦¨¬O¦r¦ê¡A§â«á­±ªº¹Bºâ¤¸¬Ý¦¨¬O¼Æ­È¡]§Y­«½Æ¦¸¼Æ¡^¡A¦]¦¹§Ú­Ì·|¦³¤U¦Cµ²ªG¡G $str5 = (1+2) x 4; # $str5 ªº­È¬O "3333" $str6 = 4 x (1+2); # $str6 ªº­È¬O "444" Áo©úªº§A¡A¬Ý¥X¤F¨ä¤¤ªº¹D²z¤F¶Ü¡H

Perl ¤ä´©¥H¤Ï±×½u¶}©lªº¯S®í¦r¤¸¡A¥i¥H¦Cªí¦p¤U¡G

²Å¸¹»¡©ú
\a¹aÁn
\b°h¦ìÁä¡]Backspace¡^
\eEscape Áä
\fFormfeed
\n´«¦æ¡]Return¡^
\t©w¦ìÁä¡]Tab¡^
\cJ±±¨î¦r¤¸¡A¦¹¨Ò¥Nªí Control-J
\xA16 ¶i¦ì°O¸¹¡AA16 = 1010 = ´«¦æ¦r¤¸
\0128 ¶i¦ì°O¸¹¡A128 = 1010 = ´«¦æ¦r¤¸
\\¤Ï±×½u
\"Âù¤Þ¸¹
\'³æ¤Þ¸¹
\l¤U¤@­Ó¦r¤¸§ï¬°¤p¼g
\u¤U¤@­Ó¦r¤¸§ï¬°¤j¼g
\L¥Ñ¤U¤@­Ó¦r¤¸¶}©l¡A¨ì\E©Î¦r¦êµ²§ô¤§¦ì¸m¡A³£§ï¬°¤p¼g
\U¥Ñ¤U¤@­Ó¦r¤¸¶}©l¡A¨ì\E©Î¦r¦êµ²§ô¤§¦ì¸m¡A³£§ï¬°¤j¼g
\Eµ²§ô \L ©Î \U ªº®Ä¥Î

¤U¦Cµ{¦¡½X¬O Perl ¹ï¦r¦ê¶i¦æ¦UºØ¤j¤p¼gÅÜ´«ªº¨Ò¤l¡G

$name = "Roger"; $name1 = "\U$name"; # $name1 ªº­È¬O "ROGER" $name2 = "\L$name1"; # $name2 ªº­È¬O "roger" $name3 = "\u$name2"; # $name3 ªº­È¬O "Roger" $name4 = "\l$name1"; # $name4 ªº­È¬O "rOGER" ¥H¤U¬O¤@­Ó¤p¤pªº´ú¸Õµ{¦¡¡A¦C¥X¤@¨Ç¦Û¦êªº³]©w¤è¦¡¡]tstring.pl¡^¡A´£¨Ñ¦U¦ìŪªÌ°Ñ¦Ò¡G

­ì©lÀÉ¡]tstring.pl¡^¡G¡]¦Ç¦â°Ï°ì«ö¨â¤U§Y¥i«þ¨©¡^
$str1 = 'hello\n';
$str2 = "hello\n";
$str3 = "don't";
$str4 = "a string: \"test\"";
$str5 = "sprite\tcoke";	
$path1 = "c:\\winnt\\temp\\";	# Win32 ªº¸ô®|ªí¥Üªk
$path2 = 'c:\winnt\temp';	# Win32 ªº¸ô®|ªí¥Üªk
$path3 = 'c:/winnt/temp';	#  UNIX ªº¸ô®|ªí¥Üªk
$path4 = "${path1}roger";
$path5 = $path2 . "\\roger";

# ¦L¥X¦U­Ó¦r¦ê
print("\$str1 = $str1\n");
print("\$str2 = $str2\n");
print("\$str3 = $str3\n");
print("\$str4 = $str4\n");
print("\$str5 = $str5\n");
print("\$path1 = $path1\n");
print("\$path2 = $path2\n");
print("\$path3 = $path3\n");
print("\$path4 = $path4\n");
print("\$path5 = $path5\n");

¦L¥X®ÄªG¦p¤U¡G

$str1 = hello\n $str2 = hello $str3 = don't $str4 = a string: "test" $str5 = sprite coke $path1 = c:\winnt\temp\ $path2 = c:\winnt\temp $path3 = c:/winnt/temp $path4 = c:\winnt\temp\roger $path5 = c:\winnt\temp\roger ¦pªG§A¹ï Perl ³B²z¦r¦êªº¤è¦¡¦³©ÒºÃ¸q¡A¥i¥H§Q¥ÎÃþ¦ü¤W­zªº¤pµ{¦¡¨Ó¶i¦æ´ú¸Õ¡C

»P¦r¦ê³B²z¬ÛÃöªº¨ç¼Æ¡A¥i¥H¦Cªí¦p¤U¡G

²Å¸¹»¡©ú
chomp²¾°£¦r¦ê§ÀºÝªº´«¦æ¦r¤¸
chop²¾°£¦r¦ê§ÀºÝªº¦r¤¸
chr±N ASCII ¥N½XÂà´«¦Ü¦r¤¸
crypt¦r¦ê¥[±K
hex±N 16 ¶i¦ìªí¥Üªº¦r¦êÂର¼Æ­È
index¶Ç¦^¤@¦r¦ê¦b¥t¤@¦Û¦ê¥X²{ªº²Ä¤@­Ó¦ì¸m
lcÂର¤p¼g¦r¤¸
lcfirst²Ä¤@­Ó¦r¥ÀÂର¤p¼g¦r¤¸
length­pºâ¦r¦êªø«×
oct±N 8 ¶i¦ìªí¥Üªº¦r¦êÂର¼Æ­È
ord±N¦r¤¸Âà´«¬°¼Æ­È¡]ASCII ¥N½X©Î Unicode¡^
pack±N¼Æ­È©Î¦r¦ê¶i¦æ¦UºØÀ£ÁY»PÂà´«
q/STRING/
qq/STRING/
reverse±N¦Û¦ê¥ª¥kÄA­Ë
rindex¶Ç¦^¤@¦r¦ê¦b¥t¤@¦Û¦ê¥X²{ªº³Ì«á¤@­Ó¦ì¸m
sprintf¶Ç¦^¥Ñ printf ©Ò§Î¦¨ªº¦r¦ê
substr¨ú¥X¤l¦r¦ê
tr///¦r¦êÂà´«¹Bºâ¡]Transliteral Operation¡^
uc±N¦r¦ê¥þ³¡Åܦ¨¤j¼g
ucfirst±N¦r¦êªº²Ä¤@­Ó¦r¥ÀÅܦ¨¤j¼g
y///¦r¦êÂà´«¹Bºâ¡]Transliteral Operation¡^

­Y¹ï³o¨Ç¨ç¼Æªº¥Îªk¤£ÁA¸Ñ¡A¥i¥Î perldoc ¨Ó¨ú±o½u¤W»¡©ú¡A¨Ò¦p¡A±ýŪ¨ú ucfirst ªº½u¤W»¡©ú¡A¥i¦b¹q¸£ªº©R¥Oµøµ¡¿é¤J

perldoc -f ucfirst ½Ð¥ß¨è¸Õ¸Õ¬Ý¡I

§Ú­Ì¥i¥Î¦r¦ê¨ÓŪ¨úÁä½L¿é¤J¡A¨Ò¦p¡G

$a = <STDIN>; # ±qÁä½L¡]§Y¼Ð·Ç¿é¤J¸Ë¸m¡ASTDIN¡^¨ú±o¤@¦C¤å¦r¿é¤J chomp($a); # §R°£¦¹¿é¤J¦r¦ê§ÀºÝªº´«¦æ²Å¸¹ ¤W­z½d¨Ò¤]¥i¥H¦X¦¨¤@¦Cµ{¦¡½X¡G chomp($a = <STDIN>); ­Y­n±N¤@­ÓÀɮס]test.txt¡^ªº¤º®e³v¤@Ū¥X¡A¥i¥Î¤U¦Cµ{¦¡½X¡G open(FILE, "test.txt") || die("Cannot open file"); $line = <FILE>; while (defined($line)) { print "$line"; $line = <FILE>; } ¨ä¤¤²Ä¤@¦Cªº±Ô­z¬O¥Ñ¨â­Ó¨ç¼Æ©Òºc¦¨¡A¦A¥Ñ¡u||¡v¡]¥Nªí¡u©Î¡vªºÅÞ¿è¹Bºâ¡^¨Ó³sµ²¡C¡uopen(File, "test.txt")¡v¬O¶}±Ò test.txt ÀɮסA¨Ã±NÀɮ׫ü¼Ð³]©w¦Ü FILE¡F¡udie("Cannot open file")¡v«h¬O¦L¥X Cannot open file ªº¿ù»~°T®§¡A¨Ã¸õ¥Xµ{¦¡½X¡C´«¥y¸Ü»¡¡A­Y¶¶§Q¶}±ÒÀɮסA«h¦¹ open ¨ç¼Æ¶Ç¦^ 1¡A«h Perl ¤£¦A°õ¦æ die ¨ç¼Æ¡A¦]¬°¾ã¦C±Ô­z¥Ñ¡u©Î¡vÅÞ¿è¹Bºâ©Òºc¦¨¡A¥u­n¦³¤@ªÌ¬° 1¡A§Y¥i¨M©w¾ã­Ó±Ô­zªº­È¡C¤Ï¤§¡A­Y open ¨ç¼Æ¶Ç¦^¹s¡]¥Nªí¶}±ÒÀÉ®×¥¢±Ñ¡^¡A«h Perl ·|¦A°õ¦æ die ¨ç¼Æ¡A¤w½T«O¯à°÷¨D±o¾ã­Ó±Ô­zªºÅÞ¿è­È¡C¡u$line = <FILE>¡v«h¬O³v¦¸±qÀÉ®×Ū¥X¤@¦C¡Aª½¨ìÀÉ®×µ²§ô¡A¥ç§Y $line µL©w¸q¡A©Î defined($line) ¶Ç¦^ 0 ¬°¤î¡C
Perl