PERLSTYLE 7
PERLSTYLE
NAMEDESCRIPTION æè¿°
è¯è
䏿æå页翻è¯è®¡å
è·
NAME
perlstyle - Perl 飿 ¼æå
DESCRIPTION æè¿°
æ¯ä¸ªç¨åºåå½ç¶é½ä¼æèªå·±çç¼ç¨é£æ¼ï¼ä½æ¯æä¸äºä¸è¬æ§çååå¯ä»¥ä½¿å¾æä»¬çç¨åºæ´æäºé读ï¼çè§£ï¼ä»¥åç»´æ¤ã
æéè¦çæ¯ä½¿ç¨ -w é项. 妿å¿é¡»å³é该é项ï¼å¯ä»¥ç¨ "no warnings" æåé $ˆW æ¥å¨ä¸å®çä»£ç æ®µä¸å³éå®. ä½ è¿åºè¯¥ä½¿ç¨ "use strict" é¤éä½ æ¸æ¥ä¸ä½¿ç¨å®ççç±. "use sigtrap" å "use diagnostics" 乿¯é常æç¨ç.
å³äºä»£ç ç¾å¦, Larry 大æ¦åªå¼ºççå³å¿ä¸ä»¶äºæï¼å¤è¡åçç»æè±æ¬å·åºè¯¥ä¸å¼å§çå³é®å对é½. é¤äºè¿ä¸ª, è¿æä¸äºä¸æ¯é£ä¹éè¦çäºæ:
|
• |
4-å缩è¿. |
|||
|
• |
妿å¯è½çè¯ï¼å¼å§çè±æ¬å·ä¸å³é®è¯æå¥½æ¾å¨åä¸è¡ï¼å¦å对é½. |
|||
|
• |
å¤è¡çåçå¼å§çè±æ¬å·ä¹ååºå½æç©ºæ ¼ |
|||
|
• |
åè¡çåæ¾å¨ä¸è¡ï¼åæ¬è±æ¬å·. |
|||
|
• |
åå·åä¸è¦ç©ºæ ¼. |
|||
|
• |
å¨ççåè¡åä¸çç¥åå·. |
|||
|
• |
æä½ç¬¦å¨å´æç©ºæ ¼. |
|||
|
• |
å¨âå¤åâ䏿 å¨å´æç©ºæ ¼ (卿¬å·ä¸). |
|||
|
• |
å¨ä¸ååè½çåä¹é´æç©ºè¡. |
|||
|
• |
elseå¦èµ·ä¸è¡å |
|||
|
• |
彿°ä¸æ¬å·é´ä¸è¦ç©ºæ ¼ |
|||
|
• |
æ¯ä¸ªéå·åæç©ºæ ¼. |
|||
|
• |
é¿å¥å卿ä½ç¬¦åæªæ ( "and" å "or" é¤å¤). |
|||
|
• |
å³éæ¬å·åæç©ºæ ¼. |
|||
|
• |
ç¸å³é¡¹ä¹é´ä»¥å对é½. |
|||
|
• |
å¨ä¸å½±åæ¸æ°çæåµä¸å°½éåå°æ ç¹ç¬¦å·. |
Larry è¿æ ·åå½ç¶æä»çåå , ä¸è¿ä»æ²¡æè¦æ±å«äººé½åä»ä¸æ ·.
以䏿è§ä¾æ¨åè:
|
• |
å¯ä»¥é£æ ·å并䏿å³çåºè¯¥é£æ ·å. Perl è®¾è®¡ä¸ºä½æ¯ä»¶äºé½å¯ä»¥ç¨å¥½å ç§æ¹æ³, ä½ åºè¯¥éæ©æå¯è¯»çä¸ç§. ä¾å¦ |
open(FOO,$foo) ⎪⎪ die "Can’t open $foo: $!";
好äº
die "Can’t open $foo: $!" unless open(FOO,$foo);
å 为第äºç§åæ³æ©çäºå¥åä¸ç主è¦å容ãå¦ä¸æ¹é¢
print "Starting analysis\n" if $verbose;
好äº
$verbose && print "Starting analysis\n";
å 为主è¦å³é®ä¸å¨äºæ¯å¦ç¨æ·è¾å¥äº -vã
类似çï¼å为ä¸ä¸ªæä½ç¬¦å许使ç¨é»è®¤åæ°ï¼ä¸æå³çä½å¿é¡»ä½¿ç¨é»è®¤å¼ãé»è®¤å¼æ¯ä¸ºææ°çç³»ç»ç¨åºå书ååªè¿è¡ä¸æ¬¡çç¨åºåå¤çã妿ä½éè¦ä½çç¨åºå°½éå¯è¯»ï¼èèç»åºåæ°ã
æ ¹æ®ç¸åçååï¼å¨å¾å¤å°æ¹å³ä½¿ä½ å¯ä»¥å¿½ç¥æ¬å·ä¹ä¸æå³çä½ åºå½è¿æ·åï¼
return print
reverse sort num values %array;
return print(reverse(sort num (values(%array))));
妿æçä¹ï¼ä½¿ç¨æ¬å·ãè³å°å®ä½¿å¾å¯æç笨èè½å¨ vi ä¸ä½¿ç¨ % 鮿¥è·³è½¬
çè³ä½æ²¡æçä¹çæ¶åï¼ä¸ºé£ä¸ªå°æ¥ç»´æ¤ä½ç代ççå®¶ä¼çç²¾ç¥å¥åº·èèä¸ä¸å§ï¼å¹¶ä¸ä»æå¯è½ææ¬å·æ¾éå°æ¹ã
|
• |
å¨ç¨åºä¸ä½¿ç¨ last è·³åºï¼èä¸è¦å¨å¼å§åç»ææ¶ç¨å¥æªç跳转éåºå¾ªç¯ãæå® "缩åº" å æ ¼ä»¥å©äºå¯ç: |
LINE:
for (;;) {
statements;
last LINE if $foo;
next LINE if /ˆ#/;
statements;
}
|
• |
å«å®³æä½¿ç¨å¾ªç¯æ è®°--å®ä»¬ç¨æ¥å¢å¼ºå¯è¯»æ§å¹¶ä¸å许å¤å±å¾ªç¯ä¸æ. åè§åä¾. | ||
|
• |
é¿åå¨ç©ºä¸ä¸æä¸ä½¿ç¨ grep() (æ map()) æ ‘åå¼å·‘ , 飿 ·ï¼ä½ 就丢å¼äºå®ä»¬çè¿åå¼. 使ç¨å®ä»¬æ¯ä¸ºäºå¾å°è¿åå¼ï¼å¦åï¼ä½¿ç¨ foreach() ææ¯ system() 好äº. | ||
|
• |
èèç§»æ¤çæ¶åï¼æäºç¹æ§å¯è½ä¸æ¯å¨ææçæºå¨ä¸é½è½å¤å¾å°æ¯æ, è¿æ¶å¯ä»¥ç¨ evalæ¥æµè¯. å¦æä½ ç¥éæä¾ç¹å®åè½ççæ¬ææ¯è¡¥ä¸, ä½ å¯ä»¥å¯ç $] (ä¹å°±æ¯ "English" ä¸ç $PERL_VERSION) æ¥ç¡®å®å½åççæ¬. "Config" 模åä¹ä¼æä¾perlå¨å®è£æ¶ Configure ç¨åºæµå¾çå¼. | ||
|
• |
ä½¿ç¨æç¡®çæ è¯ç¬¦ï¼ä½ è¦æ¯æ³ä¸èµ·æ¥æ è¯ç¬¦çææï¼é£å°±éº»ç¦äºã | ||
|
• |
çæ è¯ç¬¦å¦ $gotit è½ç¶æ²¡ä»ä¹ä¸å¥½, 使¯ç¨ä¸å线æ¥åå²åè¯å¯ä»¥å¢å å¯è¯»æ§. å¦ $var_names_like_this å¥½äº $VarNamesLikeThis,对ä¸ä»¥è±è¯ä¸ºæ¯è¯çäººæ´æ¯å¦æ¤.åæ ·ï¼å¨ä½¿ç¨ VAR_NAMES_LIKE_THIS æ¶ä¹è¦éµå¾ªè¿ä¸ªè§åã |
ååç§°ææ¶ä¸éµå®è¿ä¸ªçº¦å®. Perl 为 "pragma" ä¿çå°åçååç§°ï¼æ¯å¦ integer å strict. å¶ä»æ¨¡ååç§°åºè¯¥ç¨å¤§åå- æ¯å¼å§ï¼ä½æ¯ä¸è¬ä¸ç¨ä¸å线æ¥åéï¼å为å½ä½¿ç¨æ¨¡å忥使件忶ï¼è¿å¨æäºç³»ç»ä¼åºç°é误.
|
• |
使ç¨å¤§å°åå¯ä»¥åºååéçä½ç¨åãä¾å¦: |
$ALL_CAPS_HERE
常é
(å°å¿ï¼ä¸è¦ä¸
perl åéå²çª!)
$Some_Caps_Here åä½ç¨å
global/static
$no_caps_here
彿°ä½ç¨å
my() æ local() åé
彿°åæ¹æ³åå¤ç¨å°å. å¦, $obj->as_string().
ç¨ä¸å线å¼å§ç彿°åæåéåï¼è¡¨ç¤ºè¯¥å½æ°æåéåªè½å¨å®ä¹å®çåä¸ä½¿ç¨.
|
• |
å¦æä½ çæ£å表达å¼è¾å¤æï¼ç¨ "/x" æ¥å¢å 注éè¡æç©ºè¡ä»¥å©äºé读. å½å¶ä¸æå¾å¤ææ æåææ æ¶ï¼ä¸è¦ç¨åææ æ¥ä½æ£å表达å¼çå®ç符. | ||
|
• |
ä½¿ç¨ "and" å "or" æä½ç¬¦ä»¥åå°ä½¿ç¨æ¬å·, å°½éå°ç¨ && å ⎪⎪. è°ç¨å- ç¨åºæ¶å°½éå°ç¨"&"忬å·ï¼å¯ä»¥æåç¨åºå½å彿°æå表æä½ç¬¦æ¥è°ç¨. | ||
|
• |
ä½¿ç¨ here documents 代æ¿å¤§éç print() è¯å¥. | ||
|
• |
ç¸å³è¯å¥ç¨å坹齿¹å¼æ¥ä¹¦åï¼ç¹å«æ¯å½ä¸è¡æ¾ä¸ä¸çæ¶å. |
$IDX =
$ST_MTIME;
$IDX = $ST_ATIME if $opt_u;
$IDX = $ST_CTIME if $opt_c;
$IDX = $ST_SIZE if $opt_s;
mkdir $tmpdir,
0700 or die "can’t mkdir $tmpdir: $!";
chdir($tmpdir) or die "can’t chdir $tmpdir:
$!";
mkdir ’tmp’, 0777 or die "can’t mkdir
$tmpdir/tmp: $!";
|
• |
æ»æ¯æ£æµè¿åå¼. é误信æ¯è¢«éå¾ STDERR, 忬åºéçç¨åºã失败çç³»ç»è°ç¨ååæ°ãå¹¶ä¸ï¼é常éè¦çï¼åæ¬æ åé误信æ¯. è¿éæ¯ä¸ä¸ªç®åè宿´çä¾å: |
opendir(D, $dir) or die "can’t opendir $dir: $!";
|
• |
æç¿»è¯å表以å坹齿¹å¼æå: |
tr [abc]
[xyz];
|
• |
èèå¯éç¨æ§. 请èèä½¿ç¨æ¨¡åæå¯¹è±¡. èèä½¿ç¨ use strict å use warnings (æ -w) ä½¿ä»£ç æ¸æ°æç¡®. èèæ¹åä¸çè§ã | ||
|
• |
è¦ä¸è´ï¼è¦å¼å®¹ã | ||
|
• |
è¦æ¼äº®ï¼è¦ç¾è§ã |
è¯è
redcandle <redcandle51@chinaren.com> 20010530
䏿æå页翻è¯è®¡å
http://cmpp.linuxforum.net
è·
æ¬é¡µé¢ä¸æçç±ä¸æ
man
æå页计åæä¾ã
䏿 man
æå页计åï¼https://github.com/man-pages-zh/manpages-zh