Thread: [Shellweb-main] =?UTF-8?B?5paH5Lu257uT5p6E?=
Status: Alpha
Brought to you by:
alexe_cn
|
From: fayland <fa...@gm...> - 2005-12-28 05:06:18
|
我认为我们还是以模块的形式组织文件结构比较好。 我的建议是: lib/ShellWeb.pm lib/ShellWeb/xxx.pm 这样可以将其打包给 CPAN 而运行的话可以考虑 shellweb.pl 这么写: #!/usr/bin/perl use strict; use ShellWeb; ShellWeb->run(param => '1'); # 参数 1; 而目前这种 file_queue.pm 比较 ugly. 如果诸位认同我的意见的话,我可以用 module-starter 来建立这个结构。 -- Fayland Lam // http://www.fayland.org/ |
|
From: Anthony WU <ant...@gm...> - 2005-12-28 05:47:47
|
ztKxyN1evajXaMq508MgT08gtcSMkbeoCsD9yOcKU2hlbGxXZWIvc29ja2V0LnBtClNoZWxsV2Vi L3NvY2tldC9zc2wucG0KU2hlbGxXZWIvaHRtbC5wbQpTaGVsbFdlYi9odG1sL2Nzcy5wbQpTaGVs bFdlYi9sYXlvdXQucG0KU2hlbGxXZWIvbGF5b3V0L2xpbmsucG0KU2hlbGxXZWIvbGF5b3V0L2lt YWdlLnBtCgrKudPDCj09PT0KbXkgJGltYWdlb3V0ID0gbmV3IFNoZWxsV2ViOjpsYXlvdXQ6Omlt YWdlICgnaHR0cDovL2FhYS5hYWEuY29tL2FhYS5qcGVnJyk7Cj09PT0KcGFja2FnZSBTaGVsbFdl Yjo6bGF5b3V0OjppbWFnZQpzdWIgbmV3CnsKICBteSAkZ2V0ID0gbmV3IFNoZWxsV2ViOjpzb2Nr ZXQgKC4uLi4uKTsKfQoKCrXEt723qKOs30CY09f20N64xLywzeK806Gi1XvTw5X+scjdXre9seMK CgoyMDA1LzEyLzI4LCBmYXlsYW5kIDxmYXlsYW5kQGdtYWlsLmNvbT46Cj4KPiDO0sjPzqrO0sPH u7nKx9LUxKO/6bXE0M7Kvdfp1q/OxLz+veG5ubHIvc+6w6GjCj4gztK1xL2o0unKx6O6Cj4gbGli L1NoZWxsV2ViLnBtCj4gbGliL1NoZWxsV2ViL3h4eC5wbQo+INXi0fm/ydLUvavG5LTysPy4+CBD UEFOCj4gtvjUy9DQtcS7sL/J0tS/vMLHIHNoZWxsd2ViLnBsINXiw7TQtKO6Cj4KPiAjIS91c3Iv YmluL3BlcmwKPgo+IHVzZSBzdHJpY3Q7Cj4gdXNlIFNoZWxsV2ViOwo+Cj4gU2hlbGxXZWItPnJ1 bihwYXJhbSA9PiAnMScpOyAjILLOyv0KPgo+IDE7Cj4KPiC2+MS/x7DV4tbWIGZpbGVfcXVldWUu cG0gsci9zyB1Z2x5Lgo+IMjnufvW7s67yM/NrM7StcTS4rz7tcS7sKOsztK/ydLU08MgbW9kdWxl LXN0YXJ0ZXIgwLS9qMGi1eK49r3hubmhowo+Cj4gLS0KPiBGYXlsYW5kIExhbSAvLyBodHRwOi8v d3d3LmZheWxhbmQub3JnLwo+Cj4KPgo+Cj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+IFRoaXMgU0YubmV0IGVtYWlsIGlzIHNwb25zb3Jl ZCBieTogU3BsdW5rIEluYy4gRG8geW91IGdyZXAgdGhyb3VnaCBsb2cKPiBmaWxlcwo+IGZvciBw cm9ibGVtcz8gIFN0b3AhICBEb3dubG9hZCB0aGUgbmV3IEFKQVggc2VhcmNoIGVuZ2luZSB0aGF0 IG1ha2VzCj4gc2VhcmNoaW5nIHlvdXIgbG9nIGZpbGVzIGFzIGVhc3kgYXMgc3VyZmluZyB0aGUg IHdlYi4gIERPV05MT0FEIFNQTFVOSyEKPiBodHRwOi8vYWRzLm9zZG4uY29tLz9hZF9pZD03NjM3 JmFsbG9jX2lkPTE2ODY1Jm9wPWNsaWNrCj4KPgo= |
|
From: fayland <fa...@gm...> - 2005-12-28 05:55:44
|
yes, 同感。
OO 将很容易将功能拆分。
Anthony WU wrote:
> 我比建使用 OO 的法
> 例如
> ShellWeb/socket.pm
> ShellWeb/socket/ssl.pm
> ShellWeb/html.pm
> ShellWeb/html/css.pm
> ShellWeb/layout.pm
> ShellWeb/layout/link.pm
> ShellWeb/layout/image.pm
>
> 使用
> ====
> my $imageout = new ShellWeb::layout::image ('
> http://aaa.aaa.com/aaa.jpeg') <http://aaa.aaa.com/aaa.jpeg%27%29>;
> ====
> package ShellWeb::layout::image
> sub new
> {
> my $get = new ShellWeb::socket (.....);
> }
>
>
> 的方法,做修改及外加、用比方便
>
>
> 2005/12/28, fayland <fa...@gm... <mailto:fa...@gm...>>:
>
> 我认为我们还是以模块的形式组织文件结构比较好。
> 我的建议是:
> lib/ShellWeb.pm
> lib/ShellWeb/xxx.pm
> 这样可以将其打包给 CPAN
> 而运行的话可以考虑 shellweb.pl 这么写:
>
> #!/usr/bin/perl
>
> use strict;
> use ShellWeb;
>
> ShellWeb->run(param => '1'); # 参数
>
> 1;
>
> 而目前这种 file_queue.pm 比较 ugly.
> 如果诸位认同我的意见的话,我可以用 module-starter 来建立这个结构。
>
> --
> Fayland Lam // http://www.fayland.org/
>
>
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc. Do you grep through
> log files
> for problems? Stop! Download the new AJAX search engine that makes
> searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
> http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
> <http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click>
>
>
--
Fayland Lam // http://www.fayland.org/
|
|
From: Anthony WU <ant...@gm...> - 2005-12-28 06:17:32
|
yrnTwyBPTyDfgL/J0tS4/NPQ0Ke12L3im1Gyu82stcStaL6zy/mOp4HttcSGlu59ID0pCgrB7c3i ztLTWLXD34DQ6NKq1Pa80yBCdWcgcmVwb3J0ILmmxNwuLi4uLgoKMjAwNS8xMi8yOCwgZmF5bGFu ZCA8ZmF5bGFuZEBnbWFpbC5jb20+Ogo+Cj4geWVzLCDNrLjQoaMKPiBPTyC9q7rcyN3S172ruabE 3LLwt9ahowo+Cj4gQW50aG9ueSBXVSB3cm90ZToKPiA+IM7SscjdXr2o12jKudPDIE9PILXEjJG3 qAo+ID4gwP3I5wo+ID4gU2hlbGxXZWIvc29ja2V0LnBtCj4gPiBTaGVsbFdlYi9zb2NrZXQvc3Ns LnBtCj4gPiBTaGVsbFdlYi9odG1sLnBtCj4gPiBTaGVsbFdlYi9odG1sL2Nzcy5wbQo+ID4gU2hl bGxXZWIvbGF5b3V0LnBtCj4gPiBTaGVsbFdlYi9sYXlvdXQvbGluay5wbQo+ID4gU2hlbGxXZWIv bGF5b3V0L2ltYWdlLnBtCj4gPgo+ID4gyrnTwwo+ID4gPT09PQo+ID4gbXkgJGltYWdlb3V0ID0g bmV3IFNoZWxsV2ViOjpsYXlvdXQ6OmltYWdlICgnCj4gPiBodHRwOi8vYWFhLmFhYS5jb20vYWFh LmpwZWcnKSA8aHR0cDovL2FhYS5hYWEuY29tL2FhYS5qcGVnJTI3JTI5PjsKPiA+ID09PT0KPiA+ IHBhY2thZ2UgU2hlbGxXZWI6OmxheW91dDo6aW1hZ2UKPiA+IHN1YiBuZXcKPiA+IHsKPiA+IG15 ICRnZXQgPSBuZXcgU2hlbGxXZWI6OnNvY2tldCAoLi4uLi4pOwo+ID4gfQo+ID4KPiA+Cj4gPiC1 xLe9t6ijrN9AmNPX9tDeuMS8sM3ivNOhotV708OV/rHI3V63vbHjCj4gPgo+ID4KPiA+IDIwMDUv MTIvMjgsIGZheWxhbmQgPGZheWxhbmRAZ21haWwuY29tIDxtYWlsdG86ZmF5bGFuZEBnbWFpbC5j b20+PjoKPiA+Cj4gPiAgICAgztLIz86qztLDx7u5ysfS1MSjv+m1xNDOyr3X6davzsS8/r3hubmx yL3PusOhowo+ID4gICAgIM7StcS9qNLpysejugo+ID4gICAgIGxpYi9TaGVsbFdlYi5wbQo+ID4g ICAgIGxpYi9TaGVsbFdlYi94eHgucG0KPiA+ICAgICDV4tH5v8nS1L2rxuS08rD8uPggQ1BBTgo+ ID4gICAgILb41MvQ0LXEu7C/ydLUv7zCxyBzaGVsbHdlYi5wbCDV4sO00LSjugo+ID4KPiA+ICAg ICAjIS91c3IvYmluL3BlcmwKPiA+Cj4gPiAgICAgdXNlIHN0cmljdDsKPiA+ICAgICB1c2UgU2hl bGxXZWI7Cj4gPgo+ID4gICAgIFNoZWxsV2ViLT5ydW4ocGFyYW0gPT4gJzEnKTsgIyCyzsr9Cj4g Pgo+ID4gICAgIDE7Cj4gPgo+ID4gICAgILb4xL/HsNXi1tYgZmlsZV9xdWV1ZS5wbSCxyL3PIHVn bHkuCj4gPiAgICAgyOe5+9buzrvIz82sztK1xNLivPu1xLuwo6zO0r/J0tTTwyBtb2R1bGUtc3Rh cnRlciDAtL2owaLV4rj2veG5uaGjCj4gPgo+ID4gICAgIC0tCj4gPiAgICAgRmF5bGFuZCBMYW0g Ly8gaHR0cDovL3d3dy5mYXlsYW5kLm9yZy8KPiA+Cj4gPgo+ID4KPiA+Cj4gPiAgICAgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gICAg IFRoaXMgU0YubmV0IGVtYWlsIGlzIHNwb25zb3JlZCBieTogU3BsdW5rIEluYy4gRG8geW91IGdy ZXAgdGhyb3VnaAo+ID4gICAgIGxvZyBmaWxlcwo+ID4gICAgIGZvciBwcm9ibGVtcz8gU3RvcCEg RG93bmxvYWQgdGhlIG5ldyBBSkFYIHNlYXJjaCBlbmdpbmUgdGhhdCBtYWtlcwo+ID4gICAgIHNl YXJjaGluZyB5b3VyIGxvZyBmaWxlcyBhcyBlYXN5IGFzIHN1cmZpbmcgdGhlIHdlYi4gRE9XTkxP QUQKPiBTUExVTkshCj4gPiAgICAgaHR0cDovL2Fkcy5vc2RuLmNvbS8/YWRfaWQ9NzYzNyZhbGxv Y19pZD0xNjg2NSZvcD1jbGljawo+ID4gICAgIDxodHRwOi8vYWRzLm9zZG4uY29tLz9hZF9pZD03 NjM3JmFsbG9jX2lkPTE2ODY1Jm9wPWNsaWNrPgo+ID4KPiA+Cj4KPiAtLQo+IEZheWxhbmQgTGFt IC8vIGh0dHA6Ly93d3cuZmF5bGFuZC5vcmcvCj4KPgo+Cj4KPiAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gVGhpcyBTRi5uZXQgZW1haWwg aXMgc3BvbnNvcmVkIGJ5OiBTcGx1bmsgSW5jLiBEbyB5b3UgZ3JlcCB0aHJvdWdoIGxvZwo+IGZp bGVzCj4gZm9yIHByb2JsZW1zPyAgU3RvcCEgIERvd25sb2FkIHRoZSBuZXcgQUpBWCBzZWFyY2gg ZW5naW5lIHRoYXQgbWFrZXMKPiBzZWFyY2hpbmcgeW91ciBsb2cgZmlsZXMgYXMgZWFzeSBhcyBz dXJmaW5nIHRoZSAgd2ViLiAgRE9XTkxPQUQgU1BMVU5LIQo+IGh0dHA6Ly9hZHMub3Nkbi5jb20v P2FkX2lkPTc2MzcmYWxsb2NfaWQ9MTY4NjUmb3A9Y2xpY2sKPgo+Cg== |
|
From: <ale...@gm...> - 2005-12-28 06:25:25
|
1N7NrE9P0LS3qKGjCk9P0LS3qMi3yrXU2rrzxtrKrrfWtcTKtdPDoaMKtPO80tLRvq2/tLW9z9bU 2rXEtPrC68HLo6w6KaOssafHuKOs1rvKx8/rv+zL2bXEz8jQtLj2yei8xtSt0M2z9sC0oaMKttTT 2s/uxL+1xLv5sb7J6LzGtPO80tPQ0KnBy73iwcvC8KO/CtTaZmlsZWxpc3QuY27OxLz+1tDO0snU zqKy+8r2wcvSu7XjoaPM1sLb0rvPwqO/CgrU2iAwNS0xMi0yOKOsZmF5bGFuZDxmYXlsYW5kQGdt YWlsLmNvbT4g0LS1wKO6Cj4geWVzLCDNrLjQoaMKPiBPTyC9q7rcyN3S172ruabE3LLwt9ahowo+ Cj4gQW50aG9ueSBXVSB3cm90ZToKPiA+IM7SscjdXr2o12jKudPDIE9PILXEjJG3qAo+ID4gwP3I 5wo+ID4gU2hlbGxXZWIvc29ja2V0LnBtCj4gPiBTaGVsbFdlYi9zb2NrZXQvc3NsLnBtCj4gPiBT aGVsbFdlYi9odG1sLnBtCj4gPiBTaGVsbFdlYi9odG1sL2Nzcy5wbQo+ID4gU2hlbGxXZWIvbGF5 b3V0LnBtCj4gPiBTaGVsbFdlYi9sYXlvdXQvbGluay5wbQo+ID4gU2hlbGxXZWIvbGF5b3V0L2lt YWdlLnBtCj4gPgo+ID4gyrnTwwo+ID4gPT09PQo+ID4gbXkgJGltYWdlb3V0ID0gbmV3IFNoZWxs V2ViOjpsYXlvdXQ6OmltYWdlICgnCj4gPiBodHRwOi8vYWFhLmFhYS5jb20vYWFhLmpwZWcnKSA8 aHR0cDovL2FhYS5hYWEuY29tL2FhYS5qcGVnJTI3JTI5PjsKPiA+ID09PT0KPiA+IHBhY2thZ2Ug U2hlbGxXZWI6OmxheW91dDo6aW1hZ2UKPiA+IHN1YiBuZXcKPiA+IHsKPiA+IG15ICRnZXQgPSBu ZXcgU2hlbGxXZWI6OnNvY2tldCAoLi4uLi4pOwo+ID4gfQo+ID4KPiA+Cj4gPiC1xLe9t6ijrN9A mNPX9tDeuMS8sM3ivNOhotV708OV/rHI3V63vbHjCj4gPgo+ID4KPiA+IDIwMDUvMTIvMjgsIGZh eWxhbmQgPGZheWxhbmRAZ21haWwuY29tIDxtYWlsdG86ZmF5bGFuZEBnbWFpbC5jb20+PjoKPiA+ Cj4gPiAgICAgztLIz86qztLDx7u5ysfS1MSjv+m1xNDOyr3X6davzsS8/r3hubmxyL3PusOhowo+ ID4gICAgIM7StcS9qNLpysejugo+ID4gICAgIGxpYi9TaGVsbFdlYi5wbQo+ID4gICAgIGxpYi9T aGVsbFdlYi94eHgucG0KPiA+ICAgICDV4tH5v8nS1L2rxuS08rD8uPggQ1BBTgo+ID4gICAgILb4 1MvQ0LXEu7C/ydLUv7zCxyBzaGVsbHdlYi5wbCDV4sO00LSjugo+ID4KPiA+ICAgICAjIS91c3Iv YmluL3BlcmwKPiA+Cj4gPiAgICAgdXNlIHN0cmljdDsKPiA+ICAgICB1c2UgU2hlbGxXZWI7Cj4g Pgo+ID4gICAgIFNoZWxsV2ViLT5ydW4ocGFyYW0gPT4gJzEnKTsgIyCyzsr9Cj4gPgo+ID4gICAg IDE7Cj4gPgo+ID4gICAgILb4xL/HsNXi1tYgZmlsZV9xdWV1ZS5wbSCxyL3PIHVnbHkuCj4gPiAg ICAgyOe5+9buzrvIz82sztK1xNLivPu1xLuwo6zO0r/J0tTTwyBtb2R1bGUtc3RhcnRlciDAtL2o waLV4rj2veG5uaGjCj4gPgo+ID4gICAgIC0tCj4gPiAgICAgRmF5bGFuZCBMYW0gLy8gaHR0cDov L3d3dy5mYXlsYW5kLm9yZy8KPiA+Cj4gPgo+ID4KPiA+Cj4gPiAgICAgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gICAgIFRoaXMgU0Yu bmV0IGVtYWlsIGlzIHNwb25zb3JlZCBieTogU3BsdW5rIEluYy4gRG8geW91IGdyZXAgdGhyb3Vn aAo+ID4gICAgIGxvZyBmaWxlcwo+ID4gICAgIGZvciBwcm9ibGVtcz8gU3RvcCEgRG93bmxvYWQg dGhlIG5ldyBBSkFYIHNlYXJjaCBlbmdpbmUgdGhhdCBtYWtlcwo+ID4gICAgIHNlYXJjaGluZyB5 b3VyIGxvZyBmaWxlcyBhcyBlYXN5IGFzIHN1cmZpbmcgdGhlIHdlYi4gRE9XTkxPQUQgU1BMVU5L IQo+ID4gICAgIGh0dHA6Ly9hZHMub3Nkbi5jb20vP2FkX2lkPTc2MzcmYWxsb2NfaWQ9MTY4NjUm b3A9Y2xpY2sKPiA+ICAgICA8aHR0cDovL2Fkcy5vc2RuLmNvbS8/YWRfaWQ9NzYzNyZhbGxvY19p ZD0xNjg2NSZvcD1jbGljaz4KPiA+Cj4gPgo+Cj4gLS0KPiBGYXlsYW5kIExhbSAvLyBodHRwOi8v d3d3LmZheWxhbmQub3JnLwo+Cj4KPgo+Cj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+IFRoaXMgU0YubmV0IGVtYWlsIGlzIHNwb25zb3Jl ZCBieTogU3BsdW5rIEluYy4gRG8geW91IGdyZXAgdGhyb3VnaCBsb2cgZmlsZXMKPiBmb3IgcHJv YmxlbXM/ICBTdG9wISAgRG93bmxvYWQgdGhlIG5ldyBBSkFYIHNlYXJjaCBlbmdpbmUgdGhhdCBt YWtlcwo+IHNlYXJjaGluZyB5b3VyIGxvZyBmaWxlcyBhcyBlYXN5IGFzIHN1cmZpbmcgdGhlICB3 ZWIuICBET1dOTE9BRCBTUExVTkshCj4gaHR0cDovL2Fkcy5vc2RuLmNvbS8/YWRfaWQ9NzYzNyZh bGxvY19pZD0xNjg2NSZvcD1jbGljawo+Cj4KCgotLQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rCiB8QnkgQWxleGUgKGh0dHA6Ly93d3cuYWxleGUuY24pfAor LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCg== |
|
From: <ale...@gm...> - 2005-12-28 07:03:09
|
IGZheWxhbmSjrMjnufvE47e9seO1xLuwo6zJ+rPJ1eLDtNK7uPa94bm5o6zO0sPHwLSyzr+80rvP wqGjCgoyMDA1LzEyLzI4LCBmYXlsYW5kIDxmYXlsYW5kQGdtYWlsLmNvbT46Cj4gztLIz86qztLD x7u5ysfS1MSjv+m1xNDOyr3X6davzsS8/r3hubmxyL3PusOhowo+IM7StcS9qNLpysejugo+IGxp Yi9TaGVsbFdlYi5wbQo+IGxpYi9TaGVsbFdlYi94eHgucG0KPiDV4tH5v8nS1L2rxuS08rD8uPgg Q1BBTgo+ILb41MvQ0LXEu7C/ydLUv7zCxyBzaGVsbHdlYi5wbCDV4sO00LSjugo+Cj4gIyEvdXNy L2Jpbi9wZXJsCj4KPiB1c2Ugc3RyaWN0Owo+IHVzZSBTaGVsbFdlYjsKPgo+IFNoZWxsV2ViLT5y dW4ocGFyYW0gPT4gJzEnKTsgIyCyzsr9Cj4KPiAxOwo+Cj4gtvjEv8ew1eLW1iBmaWxlX3F1ZXVl LnBtILHIvc8gdWdseS4KPiDI57n71u7Ou8jPzazO0rXE0uK8+7XEu7CjrM7Sv8nS1NPDIG1vZHVs ZS1zdGFydGVyIMC0vajBotXiuPa94bm5oaMKPgo+IC0tCj4gRmF5bGFuZCBMYW0gLy8gaHR0cDov L3d3dy5mYXlsYW5kLm9yZy8KPgo+Cj4KPgo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiBUaGlzIFNGLm5ldCBlbWFpbCBpcyBzcG9uc29y ZWQgYnk6IFNwbHVuayBJbmMuIERvIHlvdSBncmVwIHRocm91Z2ggbG9nIGZpbGVzCj4gZm9yIHBy b2JsZW1zPyAgU3RvcCEgIERvd25sb2FkIHRoZSBuZXcgQUpBWCBzZWFyY2ggZW5naW5lIHRoYXQg bWFrZXMKPiBzZWFyY2hpbmcgeW91ciBsb2cgZmlsZXMgYXMgZWFzeSBhcyBzdXJmaW5nIHRoZSAg d2ViLiAgRE9XTkxPQUQgU1BMVU5LIQo+IGh0dHA6Ly9hZHMub3Nkbi5jb20vP2FkX2lkPTc2Mzcm YWxsb2NfaWQ9MTY4NjUmb3A9Y2xpY2sKPgo+CgoKLS0KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogfEJ5IEFsZXhlIChodHRwOi8vd3d3LmFsZXhlLmNuKXwK Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwo= |
|
From: fayland <fa...@gm...> - 2005-12-28 07:07:32
|
我觉得当成一个模块来对待比较好。就像我刚才讲的那样
lib/ShellWeb.pm
lib/ShellWeb/Layout/Pre.pm
lib/ShellWeb/Layout/Img.pm
lib/ShellWeb/Fecth/HTTPS.pm
lib/ShellWeb/Fecth/FTP.pm
.. etc.
这样还有个好处,测试 t/* 文件的时候运行
prove -l t/*
就能用 Test::Harness 来测试文件并且显示报告了。
我觉的现在最重要的不是代码,而是文件目录结构。一个程序的流程。
弄好了直接往里面填代码就可以了。
ale...@gm... wrote:
> 赞同OO写法。
> OO写法确实在后期十分的实用。
> 大家已经看到现在的代码了,:),抱歉,只是想快速的先写个设计原型出来。
> 对于项目的基本设计大家有些了解了吗?
> 在filelist.cn文件中我稍微阐述了一点。讨论一下?
>
> 在 05-12-28,fayland<fa...@gm...> 写道:
>
>> yes, 同感。
>> OO 将很容易将功能拆分。
>>
>> Anthony WU wrote:
>>
>>> 我比建使用 OO 的法
>>> 例如
>>> ShellWeb/socket.pm
>>> ShellWeb/socket/ssl.pm
>>> ShellWeb/html.pm
>>> ShellWeb/html/css.pm
>>> ShellWeb/layout.pm
>>> ShellWeb/layout/link.pm
>>> ShellWeb/layout/image.pm
>>>
>>> 使用
>>> ====
>>> my $imageout = new ShellWeb::layout::image ('
>>> http://aaa.aaa.com/aaa.jpeg') <http://aaa.aaa.com/aaa.jpeg%27%29>;
>>> ====
>>> package ShellWeb::layout::image
>>> sub new
>>> {
>>> my $get = new ShellWeb::socket (.....);
>>> }
>>>
>>>
>>> 的方法,做修改及外加、用比方便
>>>
>>>
>>> 2005/12/28, fayland <fa...@gm... <mailto:fa...@gm...>>:
>>>
>>> 我认为我们还是以模块的形式组织文件结构比较好。
>>> 我的建议是:
>>> lib/ShellWeb.pm
>>> lib/ShellWeb/xxx.pm
>>> 这样可以将其打包给 CPAN
>>> 而运行的话可以考虑 shellweb.pl 这么写:
>>>
>>> #!/usr/bin/perl
>>>
>>> use strict;
>>> use ShellWeb;
>>>
>>> ShellWeb->run(param => '1'); # 参数
>>>
>>> 1;
>>>
>>> 而目前这种 file_queue.pm 比较 ugly.
>>> 如果诸位认同我的意见的话,我可以用 module-starter 来建立这个结构。
>>>
>>> --
>>> Fayland Lam // http://www.fayland.org/
>>>
>>>
>>>
>>>
>>> -------------------------------------------------------
>>> This SF.net email is sponsored by: Splunk Inc. Do you grep through
>>> log files
>>> for problems? Stop! Download the new AJAX search engine that makes
>>> searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
>>> http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
>>> <http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click>
>>>
>>>
>>>
>> --
>> Fayland Lam // http://www.fayland.org/
>>
>>
>>
>>
>> -------------------------------------------------------
>> This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
>> for problems? Stop! Download the new AJAX search engine that makes
>> searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
>> http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
>>
>>
>>
>
>
> --
> +--------------------------------------------+
> |By Alexe (http://www.alexe.cn)|
> +--------------------------------------------+
> NY薜'
> 蕈㈣!kC 濉蘩@^^j!2㈥澧辨,悍a{,H蛟4i(辟堍o'锃Yhr'庄:rX===
--
Fayland Lam // http://www.fayland.org/
|
|
From: <ale...@gm...> - 2005-12-28 07:21:13
|
5oGp77yM5rWL6K+V56Gu5a6e5piv5Liq6Zeu6aKY77yM5oiR5Lmf5LiA55u05Zyo6ICD6JmR5aaC 5L2V5a6e546w5rWL6K+V55qE6Zeu6aKY77yM5aaC5p6c5rKh5pyJ5rWL6K+V77yM6YKj5oiR5Lus 5q+P5Liq5Lq65o+Q5Lqk55qE5Luj56CB5bCx5LiN6IO95L+d6K+B6LSo6YeP44CCCuiAjOaIkeS7 rOi/meaYr2d1aeeoi+W6j++8jOa1i+ivleeoi+W6j+eahOe8luWGmeW5tuS4jeWlveWBmuOAggoK 6L+Y6KaB6K+05piO5LiA5LiL77yac2hlbGx3ZWIucGzlj6rmmK/kuIDkuKrlkK/liqjnqIvluo/v vIzotJ/otKPlkK/liqjlhbbku5bnmoTnqIvluo/vvIzov5nkuKrlubbkuI3pnIDopoHlgZrmiJDm qKHlnZfjgIIK6ZyA6KaB5YGa5oiQ5qih5Z2X55qE5pyJbmV06YOo5YiG55qE5qih5Z2X77yM6L+Y 5pyJaHRtbF9wYXJzZXLvvIxodG1sX3ZpZXfvvIxmaWxlX3F1ZXVl6YOo5YiG77yM562J562J5YW2 5LuW55qE6YOo5YiG44CCCgoK5ZyoIDA1LTEyLTI477yMZmF5bGFuZDxmYXlsYW5kQGdtYWlsLmNv bT4g5YaZ6YGT77yaCj4g5oiR6KeJ5b6X5b2T5oiQ5LiA5Liq5qih5Z2X5p2l5a+55b6F5q+U6L6D 5aW944CC5bCx5YOP5oiR5Yia5omN6K6y55qE6YKj5qC3Cj4KPiBsaWIvU2hlbGxXZWIucG0KPiBs aWIvU2hlbGxXZWIvTGF5b3V0L1ByZS5wbQo+IGxpYi9TaGVsbFdlYi9MYXlvdXQvSW1nLnBtCj4g bGliL1NoZWxsV2ViL0ZlY3RoL0hUVFBTLnBtCj4gbGliL1NoZWxsV2ViL0ZlY3RoL0ZUUC5wbQo+ IC4uIGV0Yy4KPgo+IOi/meagt+i/mOacieS4quWlveWkhO+8jOa1i+ivlSB0Lyog5paH5Lu255qE 5pe25YCZ6L+Q6KGMCj4gcHJvdmUgLWwgdC8qCj4g5bCx6IO955SoIFRlc3Q6Okhhcm5lc3Mg5p2l 5rWL6K+V5paH5Lu25bm25LiU5pi+56S65oql5ZGK5LqG44CCCj4KPiDmiJHop4nnmoTnjrDlnKjm nIDph43opoHnmoTkuI3mmK/ku6PnoIHvvIzogIzmmK/mlofku7bnm67lvZXnu5PmnoTjgILkuIDk uKrnqIvluo/nmoTmtYHnqIvjgIIKPiDlvITlpb3kuobnm7TmjqXlvoDph4zpnaLloavku6PnoIHl sLHlj6/ku6XkuobjgIIKPgo+IGFsZXhlLmNuQGdtYWlsLmNvbSB3cm90ZToKPiA+IOi1nuWQjE9P 5YaZ5rOV44CCCj4gPiBPT+WGmeazleehruWunuWcqOWQjuacn+WNgeWIhueahOWunueUqOOAggo+ ID4g5aSn5a625bey57uP55yL5Yiw546w5Zyo55qE5Luj56CB5LqG77yMOinvvIzmirHmrYnvvIzl j6rmmK/mg7Plv6vpgJ/nmoTlhYjlhpnkuKrorr7orqHljp/lnovlh7rmnaXjgIIKPiA+IOWvueS6 jumhueebrueahOWfuuacrOiuvuiuoeWkp+WutuacieS6m+S6huino+S6huWQl++8nwo+ID4g5Zyo ZmlsZWxpc3QuY27mlofku7bkuK3miJHnqI3lvq7pmJDov7DkuobkuIDngrnjgILorqjorrrkuIDk uIvvvJ8KPiA+Cj4gPiDlnKggMDUtMTItMjjvvIxmYXlsYW5kPGZheWxhbmRAZ21haWwuY29tPiDl hpnpgZPvvJoKPiA+Cj4gPj4geWVzLCDlkIzmhJ/jgIIKPiA+PiBPTyDlsIblvojlrrnmmJPlsIbl ip/og73mi4bliIbjgIIKPiA+Pgo+ID4+IEFudGhvbnkgV1Ugd3JvdGU6Cj4gPj4KPiA+Pj4g5oiR 5q+U6LyD5bu66K2w5L2/55SoIE9PIOeahOWvq+azlQo+ID4+PiDkvovlpoIKPiA+Pj4gU2hlbGxX ZWIvc29ja2V0LnBtCj4gPj4+IFNoZWxsV2ViL3NvY2tldC9zc2wucG0KPiA+Pj4gU2hlbGxXZWIv aHRtbC5wbQo+ID4+PiBTaGVsbFdlYi9odG1sL2Nzcy5wbQo+ID4+PiBTaGVsbFdlYi9sYXlvdXQu cG0KPiA+Pj4gU2hlbGxXZWIvbGF5b3V0L2xpbmsucG0KPiA+Pj4gU2hlbGxXZWIvbGF5b3V0L2lt YWdlLnBtCj4gPj4+Cj4gPj4+IOS9v+eUqAo+ID4+PiA9PT09Cj4gPj4+IG15ICRpbWFnZW91dCA9 IG5ldyBTaGVsbFdlYjo6bGF5b3V0OjppbWFnZSAoJwo+ID4+PiBodHRwOi8vYWFhLmFhYS5jb20v YWFhLmpwZWcnKSA8aHR0cDovL2FhYS5hYWEuY29tL2FhYS5qcGVnJTI3JTI5PjsKPiA+Pj4gPT09 PQo+ID4+PiBwYWNrYWdlIFNoZWxsV2ViOjpsYXlvdXQ6OmltYWdlCj4gPj4+IHN1YiBuZXcKPiA+ Pj4gewo+ID4+PiBteSAkZ2V0ID0gbmV3IFNoZWxsV2ViOjpzb2NrZXQgKC4uLi4uKTsKPiA+Pj4g fQo+ID4+Pgo+ID4+Pgo+ID4+PiDnmoTmlrnms5XvvIzpgJnmqKPlgZrkv67mlLnlj4rlpJbliqDj gIHoqr/nlKjmnIPmr5TovIPmlrnkvr8KPiA+Pj4KPiA+Pj4KPiA+Pj4gMjAwNS8xMi8yOCwgZmF5 bGFuZCA8ZmF5bGFuZEBnbWFpbC5jb20gPG1haWx0bzpmYXlsYW5kQGdtYWlsLmNvbT4+Ogo+ID4+ Pgo+ID4+PiAgICAg5oiR6K6k5Li65oiR5Lus6L+Y5piv5Lul5qih5Z2X55qE5b2i5byP57uE57uH 5paH5Lu257uT5p6E5q+U6L6D5aW944CCCj4gPj4+ICAgICDmiJHnmoTlu7rorq7mmK/vvJoKPiA+ Pj4gICAgIGxpYi9TaGVsbFdlYi5wbQo+ID4+PiAgICAgbGliL1NoZWxsV2ViL3h4eC5wbQo+ID4+ PiAgICAg6L+Z5qC35Y+v5Lul5bCG5YW25omT5YyF57uZIENQQU4KPiA+Pj4gICAgIOiAjOi/kOih jOeahOivneWPr+S7peiAg+iZkSBzaGVsbHdlYi5wbCDov5nkuYjlhpnvvJoKPiA+Pj4KPiA+Pj4g ICAgICMhL3Vzci9iaW4vcGVybAo+ID4+Pgo+ID4+PiAgICAgdXNlIHN0cmljdDsKPiA+Pj4gICAg IHVzZSBTaGVsbFdlYjsKPiA+Pj4KPiA+Pj4gICAgIFNoZWxsV2ViLT5ydW4ocGFyYW0gPT4gJzEn KTsgIyDlj4LmlbAKPiA+Pj4KPiA+Pj4gICAgIDE7Cj4gPj4+Cj4gPj4+ICAgICDogIznm67liY3o v5nnp40gZmlsZV9xdWV1ZS5wbSDmr5TovoMgdWdseS4KPiA+Pj4gICAgIOWmguaenOivuOS9jeiu pOWQjOaIkeeahOaEj+ingeeahOivne+8jOaIkeWPr+S7peeUqCBtb2R1bGUtc3RhcnRlciDmnaXl u7rnq4vov5nkuKrnu5PmnoTjgIIKPiA+Pj4KPiA+Pj4gICAgIC0tCj4gPj4+ICAgICBGYXlsYW5k IExhbSAvLyBodHRwOi8vd3d3LmZheWxhbmQub3JnLwo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ID4+Pgo+ ID4+PiAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQo+ID4+PiAgICAgVGhpcyBTRi5uZXQgZW1haWwgaXMgc3BvbnNvcmVkIGJ5OiBTcGx1 bmsgSW5jLiBEbyB5b3UgZ3JlcCB0aHJvdWdoCj4gPj4+ICAgICBsb2cgZmlsZXMKPiA+Pj4gICAg IGZvciBwcm9ibGVtcz8gU3RvcCEgRG93bmxvYWQgdGhlIG5ldyBBSkFYIHNlYXJjaCBlbmdpbmUg dGhhdCBtYWtlcwo+ID4+PiAgICAgc2VhcmNoaW5nIHlvdXIgbG9nIGZpbGVzIGFzIGVhc3kgYXMg c3VyZmluZyB0aGUgd2ViLiBET1dOTE9BRCBTUExVTkshCj4gPj4+ICAgICBodHRwOi8vYWRzLm9z ZG4uY29tLz9hZF9pZD03NjM3JmFsbG9jX2lkPTE2ODY1Jm9wPWNsaWNrCj4gPj4+ICAgICA8aHR0 cDovL2Fkcy5vc2RuLmNvbS8/YWRfaWQ9NzYzNyZhbGxvY19pZD0xNjg2NSZvcD1jbGljaz4KPiA+ Pj4KPiA+Pj4KPiA+Pj4KPiA+PiAtLQo+ID4+IEZheWxhbmQgTGFtIC8vIGh0dHA6Ly93d3cuZmF5 bGFuZC5vcmcvCj4gPj4KPiA+Pgo+ID4+Cj4gPj4KPiA+PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gPj4gVGhpcyBTRi5uZXQgZW1haWwg aXMgc3BvbnNvcmVkIGJ5OiBTcGx1bmsgSW5jLiBEbyB5b3UgZ3JlcCB0aHJvdWdoIGxvZyBmaWxl cwo+ID4+IGZvciBwcm9ibGVtcz8gIFN0b3AhICBEb3dubG9hZCB0aGUgbmV3IEFKQVggc2VhcmNo IGVuZ2luZSB0aGF0IG1ha2VzCj4gPj4gc2VhcmNoaW5nIHlvdXIgbG9nIGZpbGVzIGFzIGVhc3kg YXMgc3VyZmluZyB0aGUgIHdlYi4gIERPV05MT0FEIFNQTFVOSyEKPiA+PiBodHRwOi8vYWRzLm9z ZG4uY29tLz9hZF9pZD03NjM3JmFsbG9jX2lkPTE2ODY1Jm9wPWNsaWNrCj4gPj4KPiA+Pgo+ID4+ Cj4gPgo+ID4KPiA+IC0tCj4gPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rCj4gPiAgfEJ5IEFsZXhlIChodHRwOi8vd3d3LmFsZXhlLmNuKXwKPiA+ICstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKPiA+IE4Y55CAWeiWnOmX heWlqO6Dje+/vX8n55+I6L6157Sl7puB7p2V5aO+DuWwkO+/vX8KPiA+IOiViOixruOIoyHmnoUf 5aWn55GN5amH55Wj6Y2FaxLnp7pD77+9fyAgICAg5r+J7pyz5ZG06JipAkBe6I+k7oWBXu+/vX8I 7p2A6LGY56eE7pig77+9fx5q77+9fyHlppwy44il5r6nB+mIuu+/vX8a6L6o7oOk77+9fyzmgo3p iYMgYXsH77+9fyDpjZcs77+9fwNI6JufNOKVqeeom++/vX9p77+9fyjovp/loI1v6LaYJ+mUg+m5 mVlocifluoQ66Y62cljmuJI9PT0KPgo+IC0tCj4gRmF5bGFuZCBMYW0gLy8gaHR0cDovL3d3dy5m YXlsYW5kLm9yZy8KPgo+Cj4KPgo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KPiBUaGlzIFNGLm5ldCBlbWFpbCBpcyBzcG9uc29yZWQgYnk6 IFNwbHVuayBJbmMuIERvIHlvdSBncmVwIHRocm91Z2ggbG9nIGZpbGVzCj4gZm9yIHByb2JsZW1z PyAgU3RvcCEgIERvd25sb2FkIHRoZSBuZXcgQUpBWCBzZWFyY2ggZW5naW5lIHRoYXQgbWFrZXMK PiBzZWFyY2hpbmcgeW91ciBsb2cgZmlsZXMgYXMgZWFzeSBhcyBzdXJmaW5nIHRoZSAgd2ViLiAg RE9XTkxPQUQgU1BMVU5LIQo+IGh0dHA6Ly9hZHMub3Nkbi5jb20vP2FkX2lkPTc2MzcmYWxsb2Nf aWQ9MTY4NjUmb3A9Y2xpY2sKPgo+CgoKLS0KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKwogfEJ5IEFsZXhlIChodHRwOi8vd3d3LmFsZXhlLmNuKXwKKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwo= |