七行プログラミング (452レス)
上下前次1-新
213(1): nobodyさん [sage] 03/12/12 02:52 ID:??? AAS
 ● 最低限押さえるべきポイント for Perl 
 ・識別子は全て一文字にする 
 ・演算子の優先順位を把握して冗長な括弧を全て省く 
 ・サブルーチンは頭の方で宣言して routine(); から括弧を省く 
 ・ブロックの最後の文はセミコロンを省略できる ("main" ブロック然り) 
  
 ● 基本縮めテクニック for Perl 
 ・使用する関数に関してマニュアルを精読する :) 
 ・bare word ([A-Za-z]\w*) を使ってクォートを省く 
 ・長い名前の関数を複数回使うなら別名を作る (*P=*param;) 
 ・特殊変数や暗黙の代入を積極的に使う 
 ・(スカラー|リスト|ブール)コンテキストでの各挙動を意識する 
  
 ● Tips for Perl 
 ・同名のファイルハンドルを open し直すなら close は要らない (>>186186(4): nobodyさん [sage] 03/12/03 23:13 ID:??? AAS
 7blosxom.cgi l10n for Japanese 
 start_html に -title=>$0 入れると7行に収まらなかった(苦)。 
  
 #!/usr/bin/perl 
 use CGI':all';use File::Find;($Y,$M,$D)=grep/^\d+$/,@i=path_info=~m|/([^/]+)|g; 
 $R=$i[-1]=~/\.txt$/?pop@i:'\.txt';find sub{($d,$m,$y)=(localtime($t=(stat)[9])) 
 [3..5];$e{$File::Find::name}=$t if!($Y&&$Y-$y-1900)&!($M&&$M-$m-1)&!($D&&$D-$d) 
 &/$R$/},$P=join('/','.',grep!/\.\.|^\d+$/,@i);put header(-charset=>$c='EUC-JP') 
 ,start_html(-encoding=>$c,lang,ja);for(sort{$e{$b}<=>$e{$a}}keys%e){open F,$_; 
 s/^\.//;chomp($h=<F>);put h2(a{href,url.$_},$h),pre<Fhr}put end_html 
  
 >>182 
 '..' さえ防いだら大丈夫な気も… 
 既に開かれてるファイルハンドルを open し直すと、開いていたファイルは 
 close されてから新しいファイルを open するので、close は明示しなくても 
 可な筈。 
 外部リンク[html]:perldoc.com  
 参照) 
 ・最も短くかける無限ループは "{ ... ;redo}" 
  
 ● 「使える」Web プログラムを目指す人に 
 ・XSS 脆弱性に配慮する 
 ・文字コードに依存する定数は外部へ追い出す 
 ・「想定外の入力」でどのように誤作動するか確認する 
 ・多機能より堅牢を 
  
 Tips を充実させたいところ。 
上下前次1-新書関写板覧索設栞歴
あと 239 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.015s