七行プログラミング (452レス)
前次1-
抽出解除 レス栞

260
(1): 258 [] 04/02/28 13:00 ID:GPwfHIuc(1) AAS
>>259
259(1): nobodyさん [] 04/02/27 23:21 ID:aqbVKltF(1) AAS
無造作に縮めてみる。

package Store7;@ISA=Exporter;@EXPORT=@EXPORT_OK=qw/store retrieve/;use Exporter
;sub E{$_=pop;s/(\\|')/\\$1/g;$_}sub d{my$e=ref(my$f=pop);$e eq 'SCALAR'?"'".E$
$f."'":$e eq 'ARRAY'?'['.join(',',map{d$_}@$f).']':$e eq 'HASH'?'{'.join(',',
map{"'".E($_)."'=>".d($f->{$_})}keys%$f).'}':"'".E($f)."'"}sub store{open my$o,
">$_[1]";print$o d($_[0])}sub retrieve{do$_[0]}
\->\\したあと、'->\'しなければいけないので、s/(\\|')/\\$1/g;はマズイっぽいです。
306: Store7.pm [sage] 04/03/29 14:12 ID:??? AAS
package Store7;use Symbol;sub E{$_=pop;s/['\\]/\\$&/g;"'$_'"}sub D{local$_=ref(
my$f=pop);/SCALAR/?E$$f:/ARRAY/?"[".join(',',map{D($_)}@$f)."]":/HASH/?"{".join
(',',map{E($_),D($f->{$_})}keys%$f)."}":E$f}$O='{open($f=gensym,$m.pop)||die if
$m="';$E='local$/;(eval<$f>';$P='print$f D pop;1';$F='eval{flock$f';$L='lock_';
use base Exporter;$C=',close$f';$G='{$f=pop;';$M='}sub ';@EXPORT=($S='store',$R
='retrieve');@EXPORT_OK=($S.'_fd',"fd_$R",$L.$S,$L.$R);eval qq/sub $R$O<";$E$C
)[0]$M$L$R$O<";$F,1};$E$C)[0]$M\fd_$R$G$E)[0]$M$S$O>";$P$C$M$L$S$O>";$F,2};$P$C
$M$S\_fd$G$P}/;$VERSION=1.00

・store_fd 、lock_store 、fd_retrieve 、lock_retrieve 実装

>>260
s/['\\]/\\$&/g でマズい例ってどんなのでしょう?
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル アボンOFF

ぬこの手 ぬこTOP 1.066s*