七行プログラミング (452レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
122(2): nobodyさん [] 03/03/10 02:24 ID:drTO4vMw(1) AAS
使い方わからなかったけど…(かちゅーしゃのログ持っていないので。
'<a href="'.pop().'</a>
↓
"a href=\"$_[0]</a>"
124: nobodyさん [sage] 03/03/13 18:58 ID:??? AAS
このスレの dat 上げといたんでテストする人はどぞ。
外部リンク[dat]:cm.xrea.cc
>>122
@_ でもいいですね。
$s="kat2xhtml.tmpl";sub a{"<a href=\"@_</a>"}sub p{"<span class=\"@_</span>"}
while(<>){($n,$m,$d,$_,$t,$")=split/,/;$.-1||chomp($T=$t);$n=~m|<b>([^<]*)(?:
</b>([^<]*))?|x;$n=($1&&p"n\">$1").($2&&p"m\">$2");$n=p qq|k" title="$m">$n|if
$m.0;s/\x81\x97\x81\x4D/,/g;s/\s+(?:target="\w*"|$)//g;s|\s*<br>|<br />|g;s/&
(?![a-z]+;)/&/gx;for(@r=split/(<a href="[^"]+">[^<]+<\/a>)/){(($u,$a)=
/^<a href="([^"]+)">([^<]+)/)?($_=$u=~s/~/%7E/g?a"$u\">$a":$a=~/^(?:>){1,2}
(\d+)/x?a"#R$1\">$a":$_):s/"/"/g}$A.="<dt>$. :<a id=\"R$.\">$n :$d</a>".
"</dt><dd>@r</dd>\n"}if(open T,$s){$/='';$_=<T>;s/\%(.)/${$1}/g;print}
mailto: やめてあと一行。
214: nobodyさん [] 03/12/12 19:15 ID:O0tbE8Vp(1/2) AAS
Gj and thankU>213213(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 は要らない (>>186 参照)
・最も短くかける無限ループは "{ ... ;redo}"
● 「使える」Web プログラムを目指す人に
・XSS 脆弱性に配慮する
・文字コードに依存する定数は外部へ追い出す
・「想定外の入力」でどのように誤作動するか確認する
・多機能より堅牢を
Tips を充実させたいところ。
僕もTipsをまとめようかなと思ってました。
7行スクリプト向けのTipsと実用的なTipsを混同すると、誤解する人が出てこないかな?
との杞憂もあり。パターン言語で、このTipsはどういった時に使えるとか、
Tipsが使える場合の背景や制約等を細かく書こうと思ってたんだけど。(現在作業中断中
indexだけでも書き出してみるかな。
paddingテクニック for perl
- ファイルハンドルの直前で改行すると 1 byte diet 出来る。(open後等)
- 正規表現内で改行する場合は x を付ける。
- 変数名はprefix($@%)と名前の間にスペース/改行を含んでも良い。
基本縮めテクニック for perl
- and or && || の使い分け。場合によっては前後の()を省略できる。
- コード全体を圧縮 $_='...';s/xxx/zzz/g;eval # 事例: DeCSS, 7Hoo
- There'sMoreThanOneWayToDoIt
既に書かかれたコードに捕らわれず、異なるアプローチで書き起こす事も忘れずに。
Common Tips for perl
- $foo ||= 10; # foo が 空もしくは0 なら 10 を代入。
縮めTips for CGI.pm
- use CGI":all"; で main:: にインポート。
- 別名が付けられている関数は短い方を利用。
-- start_form -> startform, end_form -> endform
- 環境変数を所得する関数が準備されている。
-- $ENV{'PATH_INFO'} -> path_info, referer 等。
- 独自tagを出力する関数を作る。 事例 >>122 7rss.cgi
- 自分自身のURL -> url, self_url
- 他。
大抵の機能はモジュールで提供してくれてるが、VERSIONの違いには注意。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル アボンOFF
ぬこの手 ぬこTOP 0.025s