七行プログラミング part6at TECH七行プログラミング part6 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト373:uy 12/07/29 01:34:56.02 あんまし全体読む気はないけど {print"not IPS\n";exit} とか {puts"not IPS";exit} でいいんじゃねえの あと >close O;close N;close STDERR closeしまくってるけど、ショートコーディングにcloseとか必要なの? あとやたらIF文使ってるけど、そんくらい演算子で書き換えろよ else使うとかまずありえねーわ >for($i=0;$i<-s N;++$i){if( とか $i=0 って本当にここで0初期化必要だったの? どこかの適当なメソッドで戻り値0返してる奴あるんじゃねえの? くだらねーソースあげんなカス あとさぁ最後に 0xffff は 4**8 だろボケが 374:デフォルトの名無しさん 12/07/31 11:30:57.46 .ips バイナリ差分ファイル作成 改良: #!/usr/bin/perl if($#ARGV<1){print"Usage: $0 OLD NEW >IPS\n";exit}($O,$N,$o)=@ARGV;open(O)&& open(N)||die;binmode O;binmode N;open(STDOUT,">$o")if$o;binmode STDOUT;print "PATCH";sub P{return if!($l=length);$c=pack('n',$l);print substr(pack(N,$o),1), $r>3&&$r==$l?"\0\0$c$s":"$c$_";$r=0}read(O,$a,-s O);read(N,$n,-s N);while($i++< -s N){if(substr($a,$i,1)ne($c=substr($n,$i,1))){$o=$i,$s=$c if!length;$_.=$c;$r ++if$s eq$c;next if($l=length)<65535}&P;$_=''}&P;print"EOF" puts は C の関数かと。perlの標準には無いみたい。 4**8 = 65536 = 0x10000 なんですけど。。。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch