shellweb-main Mailing List for shellweb (Page 51)
Status: Alpha
Brought to you by:
alexe_cn
You can subscribe to this list here.
| 2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(209) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2006 |
Jan
(78) |
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
(2) |
Aug
|
Sep
(3) |
Oct
|
Nov
(16) |
Dec
(53) |
| 2007 |
Jan
(36) |
Feb
(6) |
Mar
(1) |
Apr
(1) |
May
(1) |
Jun
(2) |
Jul
(1) |
Aug
(3) |
Sep
(6) |
Oct
(8) |
Nov
(9) |
Dec
(6) |
| 2008 |
Jan
(27) |
Feb
(4) |
Mar
(34) |
Apr
(42) |
May
(44) |
Jun
(78) |
Jul
(60) |
Aug
(90) |
Sep
(148) |
Oct
(319) |
Nov
(323) |
Dec
(443) |
| 2009 |
Jan
(225) |
Feb
(215) |
Mar
(228) |
Apr
(88) |
May
(250) |
Jun
(166) |
Jul
(113) |
Aug
(46) |
Sep
(65) |
Oct
(82) |
Nov
(65) |
Dec
(69) |
| 2010 |
Jan
(70) |
Feb
(15) |
Mar
(58) |
Apr
(69) |
May
(102) |
Jun
(112) |
Jul
(91) |
Aug
(78) |
Sep
(53) |
Oct
(30) |
Nov
(22) |
Dec
(15) |
| 2011 |
Jan
(13) |
Feb
(11) |
Mar
(26) |
Apr
(14) |
May
(28) |
Jun
(13) |
Jul
(14) |
Aug
(17) |
Sep
(15) |
Oct
(24) |
Nov
(20) |
Dec
(20) |
| 2012 |
Jan
(31) |
Feb
(24) |
Mar
(26) |
Apr
(21) |
May
(28) |
Jun
(32) |
Jul
(31) |
Aug
(42) |
Sep
(31) |
Oct
(26) |
Nov
(28) |
Dec
(36) |
| 2013 |
Jan
(30) |
Feb
(8) |
Mar
(23) |
Apr
(27) |
May
(35) |
Jun
(15) |
Jul
(32) |
Aug
(20) |
Sep
(27) |
Oct
(28) |
Nov
(16) |
Dec
(23) |
| 2014 |
Jan
(16) |
Feb
(34) |
Mar
(50) |
Apr
(27) |
May
(43) |
Jun
(34) |
Jul
(22) |
Aug
(35) |
Sep
(19) |
Oct
(23) |
Nov
(22) |
Dec
(13) |
| 2015 |
Jan
(12) |
Feb
(2) |
Mar
(18) |
Apr
(20) |
May
(27) |
Jun
(7) |
Jul
(2) |
Aug
(9) |
Sep
(7) |
Oct
(10) |
Nov
(3) |
Dec
(5) |
| 2016 |
Jan
(10) |
Feb
(8) |
Mar
(8) |
Apr
(31) |
May
(24) |
Jun
(17) |
Jul
(21) |
Aug
(8) |
Sep
(8) |
Oct
(12) |
Nov
(19) |
Dec
(15) |
| 2017 |
Jan
|
Feb
(6) |
Mar
(4) |
Apr
(7) |
May
(3) |
Jun
(2) |
Jul
(2) |
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Anthony WU <ant...@gm...> - 2005-12-28 08:23:16
|
Q29uZmlnIOebtOaOpeS9v+eUqCBYTUwg5ZCn77yfCgoyMDA1LzEyLzI4LCBmYXlsYW5kIDxmYXls YW5kQGdtYWlsLmNvbT46Cj4KPiBzaGVsbHdlYiDlupTor6XkvJrmj5DkvpvkuIDkupvnlKjmiLfl j6/ku6XlrprliLbnmoTkuJzopb/lkKfjgILmr5TlpoLor7TotoXml7blpJrlsJHnp5LjgILvvIjn sbvkvLwKPiBJRS9GaXJlZm94IOmHjOeahCDpgInpobkvT3B0aW9uc++8iQo+IOWIsOaXtuWAmeac ieS4gOS4queVjOmdouWPr+S7peiuvue9ru+8jOeEtuWQjuWwhuS7luS7rOS/neWtmOS4uuS4gOS4 qiB5YW1sIOaWh+S7tuOAggo+Cj4gdXNlIFlBTUwoKTsKPiBZQU1MOjpEdW1wRmlsZSgiY29uZmln LnlhbWwiLCBcJWNvbmZpZyk7Cj4KPiDnhLblkI7miJHku6zlsLHlj6/ku6Xkvb/nlKgKPiB1c2Ug WUFNTCgpOwo+IG15ICVjb25maWcgPSBZQU1MOjpMb2FkRmlsZSgnY29uZmlnLnlhbWwnKTsKPgo+ IOi/meagt+aIkeS7rOWGmSBVc2VyQWdlbnQg6LaF5pe255qE5pe25YCZ5bCx5Y+v5Lul6L+Z5LmI 5YaZ77yaCj4KPiBteSAkdWEgPSBMV1A6OlVzZXJBZ2VudC0+bmV3Owo+ICR1YS0+dGltZW91dCgk Y29uZmlne3RpbWVvdXR9KTsKPgo+IOWkp+iHtOWwseaYr+i/meS4quagt+WtkOOAguiAjCBDb25m aWc6OkluaUZpbGVzIOeUn+aIkC/lr7zlhaUgLmluaSDmlofku7bjgILov5nkuKrot5/miJHku6zl uLgKPiDop4HnmoQgaW5pIOaWh+S7tuaYr+S4gOagt+eahOOAggo+Cj4gYWxleGUuY25AZ21haWwu Y29tIHdyb3RlOgo+ID4gZmF5bGFuZCzkvaDog73lkKbnu5nlh7rkvaDmjqjojZDnmoTov5nlh6Dk uKrmqKHlnZflr7nlupTnjrDlnKhzaGVsbHdlYuS7o+eggeeahOWunuS+i++8nwo+ID4g5oiR5a+5 5LqO6L+Z5Lqb5qih5Z2X5bm25LiN5aSq5riF5qWa77yM5aaC5p6c5pyJ5a6e5L6L55qE6K+d77yM 5oiR5Lya6L6D5a655piT5q+U6L6D5LiA5Lqb44CCCj4gPgo+ID4g5ZyoIDA1LTEyLTI477yMZmF5 bGFuZDxmYXlsYW5kQGdtYWlsLmNvbT4g5YaZ6YGT77yaCj4gPgo+ID4+IOWwvemHj+i3qOW5s+WP sO+8jOWunuWcqOayoeWKnuazleWPr+S7pemHh+WPlui/meenjeWKnuazleOAggo+ID4+IGxvZyDn moTor53miJHlgL7lkJHkuo7kvb/nlKjot6jlubPlj7DnmoQgTG9nOjpMb2c0cGVybAo+ID4+Cj4g Pj4gYWxleGUuY25AZ21haWwuY29tIHdyb3RlOgo+ID4+Cj4gPj4+IOS9oOivtOeahOi/meS4quaD heWGteS5n+WPr+S7pe+8jOS9huaYr+avleern+i/mOimgeS7mOWHuuW+iOWkmuWFtuS7lueahOWK quWKm++8jOS+i+Wmgua1i+ivlei/meS4pOS4quaooeWdl+eahOWIhuWIq+i/kOihjOaDheWGte+8 jOWmguS9lee7n+S4gOOAggo+ID4+PiDmgLvkuYvvvIzlnKjov5nmlrnpnaLnmoTlt6XkvZzph4/l ubbkuI3kvJrlvojlsJHvvIzpmaTpnZ7kvaDkuovlhYjlsLHljYHliIbkuobop6Pov5nkuKTkuKrm qKHlnZfjgIIKPiA+Pj4KPiA+Pj4g5ZyoIDA1LTEyLTI477yMQW50aG9ueSBXVTxhbnRob255d3V5 MmtAZ21haWwuY29tPiDlhpnpgZPvvJoKPiA+Pj4KPiA+Pj4KPiA+Pj4+IOmXnOaWvOi3qOW5s+WP sOaWuemdogo+ID4+Pj4g5oiR6LyD5YGP5ZCRIOWmgiB3aW4zMiDvvIzkvb/nlKhXaW4zMjo6RXZl bnRMb2fvvIwgVW5peCDpoZ4g5L2/55Soc3lzbG9nZCDnmoTlgZrms5XvvIzpm5bnhLbkuI3mmK/o t6jlubPlj7DnmoTmqKHntYTvvIzkvYYKPiA+Pj4+IOS6puiDveWBmuWIsOaJgOmcgOimgeaxgu+8 jOWPqumcgOimgSDoh6rooYzlr6sgbXlsaWI6OndpbjMyOjpsb2cg77yMIG15bGliOjp1bml4bGlr ZTo6bG9nIO+8jCDntbHkuIDpgqMy5YCLIGxpYgo+ID4+Pj4g55qE6Kq/55So5pa55rOV77yM5bCx 5oeJ6Kmy5rKS5YW25LuW55qE5aSn5ZWP6aGMCj4gPj4+Pgo+ID4+Pj4gMjAwNS8xMi8yOCwgYWxl eGUuY25AZ21haWwuY29tIDxhbGV4ZS5jbkBnbWFpbC5jb20+Ogo+ID4+Pj4KPiA+Pj4+Cj4gPj4+ Pj4gOikKPiA+Pj4+PiDmiJHmnaXop6Pph4rkuIDkuIvlsL3ph4/lsJHnlKhjcGFu5qih5Z2X55qE 5Y6f5Zug77yaCj4gPj4+Pj4g6aaW5YWI77yM5oiR5bm25LiN5piv5o6S5pal55SoY3BhbuaooeWd l++8jOWlveeahGNwYW7mqKHlnZflvZPnhLblj6/ku6Xph4fnlKjjgIIKPiA+Pj4+PiDkvYbmmK/v vIzph4fnlKjkuIDkuKpjcGFu5qih5Z2X5b+F6aG75L+d6K+B5Lul5LiL55qE5YmN5o+Q77yaCj4g Pj4+Pj4KPiA+Pj4+Pgo+ID4+Pj4+Cj4gPj4+PiAxLuWPr+enu+akjeaAp+OAguWPr+S7peato+W4 uOeahOWcqOaIkeS7rOaJgOmcgOimgeeahOWkmuW5s+WPsOS4i+i/kOihjO+8jOimgeefpemBk+ac ieS6m+aooeWdl+WcqGxpbnV45LiL5Y+v5Lul6L+Q6KGM77yM5L2G5pivd2luMzLkuIvkuI3og73o v5DooYzvvIzov5nnp43mqKHlnZfmiJHku6zkuI3og73kvb/nlKjjgIIKPiA+Pj4+Cj4gPj4+PiAy LuS+nei1luaAp+i+g+S9jgo+IOOAguacieW+iOWkmuS8mOengOeahGNwYW7mqKHlnZfvvIzpnIDo poHkvp3otZblhbbku5bnmoRjcGFu5qih5Z2X5omN6IO96L+Q6KGM77yM5aaC5p6c5oiR5Lus5byV 5YWl5LqG6L+Z5LiqY3BhbuaooeWdl++8jOmCo+S5iOWFtuS7lueahGNwYW7mqKHlnZfkuZ/lv4Xp obvkuIDlubblvJXlhaXvvIzlpKfph4/nmoTlkITnp43nsbvlnovnmoRjcGFu5qih5Z2X5Yq/5b+F 5Lya57uZ5oiR5Lus5LuK5ZCO55qE5Y+R5biD5bim5p2l5Zuw6Zq+77yM5oiR5Lus5Lya5b6I6Zq+ 5L+d6K+B6L+Z5Lqb5qih5Z2X5Zyo5aSa56eN5bmz5Y+w5LiK55qE6L+Q6KGM6IO95Yqb77yM6ICM 5LiU5aaC5p6c6L2v5Lu26L+b5LiA5q2l55qE5Y+R5bGV77yM6L+Z5Liq5qih5Z2X5aaC5p6c5peg 5rOV6YCC55So5oiR5Lus55qE6KaB5rGC77yM5oiR5Lus5bCG5Lya6Zm35YWl6KKr5Yqo55qE5bGA 6Z2i77yM6ICM5LiU5Zyo57qg6ZSZ5pa56Z2i77yM5oiR5Lus6ZyA6KaB5p+l5om+55qE5bel5L2c 6YeP5Lya5b6I5aSn77yM5pyJ5Y+v6IO95b+F6aG75p+l5om+5q+P5Liq5byV5YWl55qE5qih5Z2X 5omN6IO96Kej5Yaz6Zeu6aKY44CCCj4gPj4+Pgo+ID4+Pj4KPiA+Pj4+PiAzLuivpeaooeWdl+W3 sue7j+mVv+aXtumXtOeos+WumueahOWtmOWcqO+8jOaIluiAheWFheWIhuivgeWunuS6hui/meS4 quaooeWdl+WPr+S7peWfuuacrOaXoOmXrumimOeahOi/kOihjOOAggo+ID4+Pj4+Cj4gPj4+Pj4K PiA+Pj4+Pgo+ID4+Pj4gNC7lnKjlvJXlhaXkuIDkuKrmqKHlnZfnmoTml7blgJnvvIwKPiDmiJHk uYvliY3lt7Lnu4/or7TkuobvvJrlj5Hpgq7ku7bpgJrnn6XlpKflrrbjgILnhLblkI7nu5nlh7rk vaDnmoTmqKHlnZflnKhzaGVsbHdlYuS4reeahOeUqOazleWunuS+i++8jOWkp+WutuWOu+agueaN ruaIkeS4iumdoueahOinhOWImeafpemYheS4gOS4i+WNsOivgeS4gOS4i+OAggo+ID4+Pj4KPiA+ Pj4+Cj4gPj4+Pgo+IOWcqOmhueebrueahOWIneacn++8jOaIkeS7rOW5tuS4jeimgeaxguW+iOW/ q+eahOWujOaIkOafkOmhueS7u+WKoe+8jOiAjOaYr+S4uuS6huS7peWQjuiDveW/q+mAn+eahOWu jOaIkOS7u+WKoeaJk+S4i+WlveeahOWfuuehgO+8jOS4uuS6humBv+WFjemhueebrui/m+WFpeWQ juacn+WboOS4uuafkOS6m+iHquW3seS4jeiDveaKiuaPoeeahOS6i+aDheiAjOaLluWFpeazpea9 re+8jOaJgOS7peWJjeacn+aIkeaDs+WwvemHj+eahOiwqOaFjuS4gOS6m+OAgui/meaYr+aIkeeO sOWcqOWvueS6jumhueebrueahOS4u+WvvOaDs+azleOAggo+ID4+Pj4KPiA+Pj4+Cj4gPj4+Pj4g MjAwNS8xMi8yOCwgZmF5bGFuZCA8ZmF5bGFuZEBnbWFpbC5jb20+Ogo+ID4+Pj4+Cj4gPj4+Pj4K PiA+Pj4+Pj4gYWxleGEg55qEIFNZU1RFTV9DT05GSUcg5piv5ZCm5Y+v5Lul6ICD6JmR55SoIHVz ZSBZQU1MOwo+ID4+Pj4+PiDov5nkuYjlhpnnmoTor53vvJoKPiA+Pj4+Pj4gICAgaWYgKCRjb25m aWc9fm0vXndpbmRvd19zaXplX3dpZHRoPSguKikvKSB7Cj4gPj4+Pj4+ICAgICAgICAkY29uZmln e3dpbmRvd19zaXplX3dpZHRofT0kMTsKPiA+Pj4+Pj4gICAgICAgIG5leHQ7Cj4gPj4+Pj4+ICAg IH0KPiA+Pj4+Pj4g5LiA5pem6YWN572u5aSa5LqG5bCx6bq754Om5q275LqG44CC5oiW6K646L+Y 5Y+v5Lul6ICD6JmRIENvbmZpZzo6VGlueSBDb25maWc6OkluaUZpbGVzIOetiQo+ID4+Pj4+Pgo+ ID4+Pj4+PiDmiJHmgLvop4nnmoTog73nlKggQ1BBTiDmqKHlnZflsLHnlKggQ1BBTiDmqKHlnZfj gILkvZXlv4XmtarotLnml7bpl7Tlho3lhpnkuIDmrKHliKvkurrlt7Lnu4/lhpnov4fnmoQKPiA+ Pj4+Pj4g5Luj56CB5ZGi44CC55So6L+Z5Lqb5aSn5a626YO95Zyo55So55qE5qih5Z2X6IO96K6p IFNoZWxsV2ViIOeahOS7o+eggeabtOWwkeabtOa4heaZsOOAggo+ID4+Pj4+Pgo+ID4+Pj4+PiAt LQo+ID4+Pj4+PiBGYXlsYW5kIExhbSAvLyBodHRwOi8vd3d3LmZheWxhbmQub3JnLwo+ID4+Pj4+ Pgo+ID4+Pj4+Pgo+ID4+Pj4+Pgo+ID4+Pj4+Pgo+ID4+Pj4+PiAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gPj4+Pj4+IFRoaXMgU0YubmV0 IGVtYWlsIGlzIHNwb25zb3JlZCBieTogU3BsdW5rIEluYy4gRG8geW91IGdyZXAgdGhyb3VnaAo+ IGxvZwo+ID4+Pj4+Pgo+ID4+Pj4+Pgo+ID4+Pj4gZmlsZXMKPiA+Pj4+Cj4gPj4+Pgo+ID4+Pj4+ PiBmb3IgcHJvYmxlbXM/ICBTdG9wISAgRG93bmxvYWQgdGhlIG5ldyBBSkFYIHNlYXJjaCBlbmdp bmUgdGhhdAo+IG1ha2VzCj4gPj4+Pj4+IHNlYXJjaGluZyB5b3VyIGxvZyBmaWxlcyBhcyBlYXN5 IGFzIHN1cmZpbmcgdGhlICB3ZWIuICBET1dOTE9BRAo+IFNQTFVOSyEKPiA+Pj4+Pj4gaHR0cDov L2Fkcy5vc2RuLmNvbS8/YWRfaWQ9NzYzNyZhbGxvY19pZD0xNjg2NSZvcD1jbGljawo+ID4+Pj4+ Pgo+ID4+Pj4+Pgo+ID4+Pj4+Pgo+ID4+Pj4+Pgo+ID4+Pj4+IC0tCj4gPj4+Pj4gKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwo+ID4+Pj4+IHxCeSBBbGV4ZSAo aHR0cDovL3d3dy5hbGV4ZS5jbil8Cj4gPj4+Pj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKwo+ID4+Pj4+Cj4gPj4+Pj4KPiA+Pj4+Pgo+ID4+PiAtLQo+ID4+ PiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4gPj4+ICB8 QnkgQWxleGUgKGh0dHA6Ly93d3cuYWxleGUuY24pfAo+ID4+PiArLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4gPj4+IE4Y55CAWeiWnOmXheWlqO6Dje+/vX8n 55+I6L6157Sl7puB7p2V5aO+DuWwkO+/vX8KPiA+Pj4g6JWI6LGu44ijIeaehR/lpafnkY3lqYfn laPpjYVrEuenukPvv71/ICAgICDmv4nunLPlkbTomKkCQF7oj6TuhYFe77+9fwjunYDosZjnp4Tu mKDvv71/Hmrvv71/IeWmnDLjiKXmvqcH6Yi677+9fxrovqjug6Tvv71/LOaCjemJgyBhewfvv71/ Cj4g6Y2XLO+/vX8DSOibnzTilannqJvvv71/ae+/vX8o6L6f5aCNb+i2mCfplIPpuZlZaHIn5bqE OumOtnJY5riSPT09Cj4gPj4+Cj4gPj4gLS0KPiA+PiBGYXlsYW5kIExhbSAvLyBodHRwOi8vd3d3 LmZheWxhbmQub3JnLwo+ID4+Cj4gPj4KPiA+Pgo+ID4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+PiBUaGlzIFNGLm5ldCBlbWFpbCBp cyBzcG9uc29yZWQgYnk6IFNwbHVuayBJbmMuIERvIHlvdSBncmVwIHRocm91Z2ggbG9nCj4gZmls ZXMKPiA+PiBmb3IgcHJvYmxlbXM/ICBTdG9wISAgRG93bmxvYWQgdGhlIG5ldyBBSkFYIHNlYXJj aCBlbmdpbmUgdGhhdCBtYWtlcwo+ID4+IHNlYXJjaGluZyB5b3VyIGxvZyBmaWxlcyBhcyBlYXN5 IGFzIHN1cmZpbmcgdGhlICB3ZWIuICBET1dOTE9BRCBTUExVTkshCj4gPj4gaHR0cDovL2Fkcy5v c2RuLmNvbS8/YWRfaWQ9NzYzNyZhbGxvY19pZD0xNjg2NSZvcD1jbGljawo+ID4+Cj4gPj4KPiA+ Pgo+ID4KPiA+Cj4gPiAtLQo+ID4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKwo+ID4gIHxCeSBBbGV4ZSAoaHR0cDovL3d3dy5hbGV4ZS5jbil8Cj4gPiArLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4gPiBOGO+/vUhZ3rXp mopY77+977+977+9J++/ve+/ve+/vXXvv73vv73vv71b77+977+977+977+9Du+/ve+/ve+/vQo+ ID4g3qbvv71r77+977+9Ie+/ve+/vR/vv71X77+9fu+/vemuhu+/vXprEu+/ve+/vUPvv70KPiDl oadt77+977+977+977+9AkBex5rvv73vv71e77+9CO+/vXrvv71a77+9Zu+/vXrvv70eau+/vSHv v714Mu+/ve+/ve+/vQfvv73vv70a77+977+9yass77+977+977+9C2F7B++/vQzvv70s77+9A0jv v73vv70077+9be+/ve+/ve+/vWnvv70o77+977+93KJv77+9difvv73vv71qWWhyJ9evOu+/vXJY 77+9az09PQo+Cj4gLS0KPiBGYXlsYW5kIExhbSAvLyBodHRwOi8vd3d3LmZheWxhbmQub3JnLwo+ Cj4KPgo+Cj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQo+IFRoaXMgU0YubmV0IGVtYWlsIGlzIHNwb25zb3JlZCBieTogU3BsdW5rIEluYy4g RG8geW91IGdyZXAgdGhyb3VnaCBsb2cKPiBmaWxlcwo+IGZvciBwcm9ibGVtcz8gIFN0b3AhICBE b3dubG9hZCB0aGUgbmV3IEFKQVggc2VhcmNoIGVuZ2luZSB0aGF0IG1ha2VzCj4gc2VhcmNoaW5n IHlvdXIgbG9nIGZpbGVzIGFzIGVhc3kgYXMgc3VyZmluZyB0aGUgIHdlYi4gIERPV05MT0FEIFNQ TFVOSyEKPiBodHRwOi8vYWRzLm9zZG4uY29tLz9hZF9pZD03NjM3JmFsbG9jX2lkPTE2ODY1Jm9w PWNsaWNrCj4KPgo= |
|
From: fayland <fa...@gm...> - 2005-12-28 08:22:49
|
谈谈个人的看法。大家讨论与补充。 lib/ShellWeb.pm 放置主要流程。 lib/ShellWeb/Init.pm 初始化,载入配置文件。 lib/ShellWeb/Menu.pm 菜单文件与 event 的 hook lib/ShellWeb/Fecth 主要用于获取,做 LWP 的事。子目录下有 HTTP/FTP/HTTPS 等 lib/ShellWeb/Parser 用于解析 html/xml/gif 等。 lib/ShellWeb/Layout 用于将 html 解析出来的每个 tag 对应到 Gtk2 的东西上 去。这个 Layout 就是显示 Gtk2 的界面。 至于一些 Gtk2 的 hook 可以考虑放在一个文件,或者写在 ShellWeb.pm 里。 这些只是纸上谈兵。不过我认为先确定程序的流程和目录的结构对将来的开发会有 很大的帮助。 -- Fayland Lam // http://www.fayland.org/ |
|
From: fayland <fa...@gm...> - 2005-12-28 08:09:53
|
shellweb 应该会提供一些用户可以定制的东西吧。比如说超时多少秒。(类似
IE/Firefox 里的 选项/Options)
到时候有一个界面可以设置,然后将他们保存为一个 yaml 文件。
use YAML();
YAML::DumpFile("config.yaml", \%config);
然后我们就可以使用
use YAML();
my %config = YAML::LoadFile('config.yaml');
这样我们写 UserAgent 超时的时候就可以这么写:
my $ua = LWP::UserAgent->new;
$ua->timeout($config{timeout});
大致就是这个样子。而 Config::IniFiles 生成/导入 .ini 文件。这个跟我们常
见的 ini 文件是一样的。
ale...@gm... wrote:
> fayland,你能否给出你推荐的这几个模块对应现在shellweb代码的实例?
> 我对于这些模块并不太清楚,如果有实例的话,我会较容易比较一些。
>
> 在 05-12-28,fayland<fa...@gm...> 写道:
>
>> 尽量跨平台,实在没办法可以采取这种办法。
>> log 的话我倾向于使用跨平台的 Log::Log4perl
>>
>> ale...@gm... wrote:
>>
>>> 你说的这个情况也可以,但是毕竟还要付出很多其他的努力,例如测试这两个模块的分别运行情况,如何统一。
>>> 总之,在这方面的工作量并不会很少,除非你事先就十分了解这两个模块。
>>>
>>> 在 05-12-28,Anthony WU<ant...@gm...> 写道:
>>>
>>>
>>>> 關於跨平台方面
>>>> 我較偏向 如 win32 ,使用Win32::EventLog, Unix 類 使用syslogd 的做法,雖然不是跨平台的模組,但
>>>> 亦能做到所需要求,只需要 自行寫 mylib::win32::log , mylib::unixlike::log , 統一那2個 lib
>>>> 的調用方法,就應該沒其他的大問題
>>>>
>>>> 2005/12/28, ale...@gm... <ale...@gm...>:
>>>>
>>>>
>>>>> :)
>>>>> 我来解释一下尽量少用cpan模块的原因:
>>>>> 首先,我并不是排斥用cpan模块,好的cpan模块当然可以采用。
>>>>> 但是,采用一个cpan模块必须保证以下的前提:
>>>>>
>>>>>
>>>>>
>>>> 1.可移植性。可以正常的在我们所需要的多平台下运行,要知道有些模块在linux下可以运行,但是win32下不能运行,这种模块我们不能使用。
>>>>
>>>> 2.依赖性较低。有很多优秀的cpan模块,需要依赖其他的cpan模块才能运行,如果我们引入了这个cpan模块,那么其他的cpan模块也必须一并引入,大量的各种类型的cpan模块势必会给我们今后的发布带来困难,我们会很难保证这些模块在多种平台上的运行能力,而且如果软件进一步的发展,这个模块如果无法适用我们的要求,我们将会陷入被动的局面,而且在纠错方面,我们需要查找的工作量会很大,有可能必须查找每个引入的模块才能解决问题。
>>>>
>>>>
>>>>> 3.该模块已经长时间稳定的存在,或者充分证实了这个模块可以基本无问题的运行。
>>>>>
>>>>>
>>>>>
>>>> 4.在引入一个模块的时候,我之前已经说了:发邮件通知大家。然后给出你的模块在shellweb中的用法实例,大家去根据我上面的规则查阅一下印证一下。
>>>>
>>>>
>>>> 在项目的初期,我们并不要求很快的完成某项任务,而是为了以后能快速的完成任务打下好的基础,为了避免项目进入后期因为某些自己不能把握的事情而拖入泥潭,所以前期我想尽量的谨慎一些。这是我现在对于项目的主导想法。
>>>>
>>>>
>>>>> 2005/12/28, fayland <fa...@gm...>:
>>>>>
>>>>>
>>>>>> alexa 的 SYSTEM_CONFIG 是否可以考虑用 use YAML;
>>>>>> 这么写的话:
>>>>>> if ($config=~m/^window_size_width=(.*)/) {
>>>>>> $config{window_size_width}=$1;
>>>>>> next;
>>>>>> }
>>>>>> 一旦配置多了就麻烦死了。或许还可以考虑 Config::Tiny Config::IniFiles 等
>>>>>>
>>>>>> 我总觉的能用 CPAN 模块就用 CPAN 模块。何必浪费时间再写一次别人已经写过的
>>>>>> 代码呢。用这些大家都在用的模块能让 ShellWeb 的代码更少更清晰。
>>>>>>
>>>>>> --
>>>>>> 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)|
>>>>> +--------------------------------------------+
>>>>>
>>>>>
>>>>>
>>> --
>>> +--------------------------------------------+
>>> |By Alexe (http://www.alexe.cn)|
>>> +--------------------------------------------+
>>> N琀Y薜闅奨�'矈辵紥壾尐�
>>> 蕈豮㈣!枅奧瑍婇畣鍅k秺C� 濉呴蘩@^菤^�豘秄�j�!妜2㈥澧鈺�辨�,悍鉃 a{� 鍗,�H蛟4╩稛�i�(辟堍o趘'锃鹙Yhr'庄:鎶rX渒===
>>>
>> --
>> 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)|
> +--------------------------------------------+
> N�HY隊X���'���u���[�������
> ަ�k��!���W�~�鮆�zk��C� 塧m����@^ǚ��^��z�Z�f�z�j�!�x2�������ɫ,���a{��,�H��4�m���i�(��ܢo�v'��jYhr'ׯ:�rX�k===
--
Fayland Lam // http://www.fayland.org/
|
|
From: killer <kev...@gm...> - 2005-12-28 07:50:32
|
5LuK5aSp5Yia55yL5LqG5Luj56CB77yM5oiR5Lmf5p2l6K+06K+06Ieq5bex55qE55yL5rOVCuaI keS5n+inieW+l+W6lOivpeWwvemHj+mAieeUqOi3qOW5s+WPsOeahOS4nOilv++8jOWDj+aIkeWO n+adpeeahOmhueebruWImuW8gOWni+i/meS4gOeCueiAg+iZkeeahOS4jeWRqOWFqO+8jOWIsOWQ juadpeecn+eahOaYr+S4gOWboueznwpsb2fnmoTor53vvIzlkIzmhI/kvb/nlKjot6jlubPlj7Dn moRMb2c6OkxvZzRwZXJsCuW+iOmrmOWFtOiDveWPguWKoOiuqOiuuu+8jOWkp+Wutui+m+iLpu+8 jOWRteWRtQoK5ZyoMDUtMTItMjjvvIxmYXlsYW5kIDxmYXlsYW5kQGdtYWlsLmNvbT4g5YaZ6YGT 77yaCj4KPiDlsL3ph4/ot6jlubPlj7DvvIzlrp7lnKjmsqHlip7ms5Xlj6/ku6Xph4flj5bov5nn p43lip7ms5XjgIIKPiBsb2cg55qE6K+d5oiR5YC+5ZCR5LqO5L2/55So6Leo5bmz5Y+w55qEIExv Zzo6TG9nNHBlcmwKPgo+IGFsZXhlLmNuQGdtYWlsLmNvbSB3cm90ZToKPiA+IOS9oOivtOeahOi/ meS4quaDheWGteS5n+WPr+S7pe+8jOS9huaYr+avleern+i/mOimgeS7mOWHuuW+iOWkmuWFtuS7 lueahOWKquWKm++8jOS+i+Wmgua1i+ivlei/meS4pOS4quaooeWdl+eahOWIhuWIq+i/kOihjOaD heWGte+8jOWmguS9lee7n+S4gOOAggo+ID4g5oC75LmL77yM5Zyo6L+Z5pa56Z2i55qE5bel5L2c 6YeP5bm25LiN5Lya5b6I5bCR77yM6Zmk6Z2e5L2g5LqL5YWI5bCx5Y2B5YiG5LqG6Kej6L+Z5Lik 5Liq5qih5Z2X44CCCj4gPgo+ID4g5ZyoIDA1LTEyLTI477yMQW50aG9ueSBXVTxhbnRob255d3V5 MmtAZ21haWwuY29tPiDlhpnpgZPvvJoKPiA+Cj4gPj4g6Zec5pa86Leo5bmz5Y+w5pa56Z2iCj4g Pj4g5oiR6LyD5YGP5ZCRIOWmgiB3aW4zMiDvvIzkvb/nlKhXaW4zMjo6RXZlbnRMb2fvvIwgVW5p eCDpoZ4g5L2/55Soc3lzbG9nZCDnmoTlgZrms5XvvIzpm5bnhLbkuI3mmK/ot6jlubPlj7DnmoTm qKHntYTvvIzkvYYKPiA+PiDkuqbog73lgZrliLDmiYDpnIDopoHmsYLvvIzlj6rpnIDopoEg6Ieq 6KGM5a+rIG15bGliOjp3aW4zMjo6bG9nIO+8jCBteWxpYjo6dW5peGxpa2U6OmxvZyDvvIwg57Wx 5LiA6YKjMuWAiyBsaWIKPiA+PiDnmoToqr/nlKjmlrnms5XvvIzlsLHmh4noqbLmspLlhbbku5bn moTlpKfllY/poYwKPiA+Pgo+ID4+IDIwMDUvMTIvMjgsIGFsZXhlLmNuQGdtYWlsLmNvbSA8YWxl eGUuY25AZ21haWwuY29tPjoKPiA+Pgo+ID4+PiA6KQo+ID4+PiDmiJHmnaXop6Pph4rkuIDkuIvl sL3ph4/lsJHnlKhjcGFu5qih5Z2X55qE5Y6f5Zug77yaCj4gPj4+IOmmluWFiO+8jOaIkeW5tuS4 jeaYr+aOkuaWpeeUqGNwYW7mqKHlnZfvvIzlpb3nmoRjcGFu5qih5Z2X5b2T54S25Y+v5Lul6YeH 55So44CCCj4gPj4+IOS9huaYr++8jOmHh+eUqOS4gOS4qmNwYW7mqKHlnZflv4Xpobvkv53or4Hk u6XkuIvnmoTliY3mj5DvvJoKPiA+Pj4KPiA+Pj4KPiA+PiAxLuWPr+enu+akjeaAp+OAguWPr+S7 peato+W4uOeahOWcqOaIkeS7rOaJgOmcgOimgeeahOWkmuW5s+WPsOS4i+i/kOihjO+8jOimgeef pemBk+acieS6m+aooeWdl+WcqGxpbnV45LiL5Y+v5Lul6L+Q6KGM77yM5L2G5pivd2luMzLkuIvk uI3og73ov5DooYzvvIzov5nnp43mqKHlnZfmiJHku6zkuI3og73kvb/nlKjjgIIKPiA+Pgo+ID4+ IDIu5L6d6LWW5oCn6L6D5L2OCj4g44CC5pyJ5b6I5aSa5LyY56eA55qEY3BhbuaooeWdl++8jOmc gOimgeS+nei1luWFtuS7lueahGNwYW7mqKHlnZfmiY3og73ov5DooYzvvIzlpoLmnpzmiJHku6zl vJXlhaXkuobov5nkuKpjcGFu5qih5Z2X77yM6YKj5LmI5YW25LuW55qEY3BhbuaooeWdl+S5n+W/ hemhu+S4gOW5tuW8leWFpe+8jOWkp+mHj+eahOWQhOenjeexu+Wei+eahGNwYW7mqKHlnZflir/l v4XkvJrnu5nmiJHku6zku4rlkI7nmoTlj5HluIPluKbmnaXlm7Dpmr7vvIzmiJHku6zkvJrlvojp mr7kv53or4Hov5nkupvmqKHlnZflnKjlpJrnp43lubPlj7DkuIrnmoTov5DooYzog73lipvvvIzo gIzkuJTlpoLmnpzova/ku7bov5vkuIDmraXnmoTlj5HlsZXvvIzov5nkuKrmqKHlnZflpoLmnpzm l6Dms5XpgILnlKjmiJHku6znmoTopoHmsYLvvIzmiJHku6zlsIbkvJrpmbflhaXooqvliqjnmoTl sYDpnaLvvIzogIzkuJTlnKjnuqDplJnmlrnpnaLvvIzmiJHku6zpnIDopoHmn6Xmib7nmoTlt6Xk vZzph4/kvJrlvojlpKfvvIzmnInlj6/og73lv4Xpobvmn6Xmib7mr4/kuKrlvJXlhaXnmoTmqKHl nZfmiY3og73op6PlhrPpl67popjjgIIKPiA+Pgo+ID4+PiAzLuivpeaooeWdl+W3sue7j+mVv+aX tumXtOeos+WumueahOWtmOWcqO+8jOaIluiAheWFheWIhuivgeWunuS6hui/meS4quaooeWdl+WP r+S7peWfuuacrOaXoOmXrumimOeahOi/kOihjOOAggo+ID4+Pgo+ID4+Pgo+ID4+IDQu5Zyo5byV 5YWl5LiA5Liq5qih5Z2X55qE5pe25YCZ77yMCj4g5oiR5LmL5YmN5bey57uP6K+05LqG77ya5Y+R 6YKu5Lu26YCa55+l5aSn5a6244CC54S25ZCO57uZ5Ye65L2g55qE5qih5Z2X5Zyoc2hlbGx3ZWLk uK3nmoTnlKjms5Xlrp7kvovvvIzlpKflrrbljrvmoLnmja7miJHkuIrpnaLnmoTop4TliJnmn6Xp mIXkuIDkuIvljbDor4HkuIDkuIvjgIIKPiA+Pgo+ID4+Pgo+ID4+Cj4g5Zyo6aG555uu55qE5Yid 5pyf77yM5oiR5Lus5bm25LiN6KaB5rGC5b6I5b+r55qE5a6M5oiQ5p+Q6aG55Lu75Yqh77yM6ICM 5piv5Li65LqG5Lul5ZCO6IO95b+r6YCf55qE5a6M5oiQ5Lu75Yqh5omT5LiL5aW955qE5Z+656GA 77yM5Li65LqG6YG/5YWN6aG555uu6L+b5YWl5ZCO5pyf5Zug5Li65p+Q5Lqb6Ieq5bex5LiN6IO9 5oqK5o+h55qE5LqL5oOF6ICM5ouW5YWl5rOl5r2t77yM5omA5Lul5YmN5pyf5oiR5oOz5bC96YeP 55qE6LCo5oWO5LiA5Lqb44CC6L+Z5piv5oiR546w5Zyo5a+55LqO6aG555uu55qE5Li75a+85oOz 5rOV44CCCj4gPj4KPiA+Pj4gMjAwNS8xMi8yOCwgZmF5bGFuZCA8ZmF5bGFuZEBnbWFpbC5jb20+ Ogo+ID4+Pgo+ID4+Pj4gYWxleGEg55qEIFNZU1RFTV9DT05GSUcg5piv5ZCm5Y+v5Lul6ICD6JmR 55SoIHVzZSBZQU1MOwo+ID4+Pj4g6L+Z5LmI5YaZ55qE6K+d77yaCj4gPj4+PiAgICBpZiAoJGNv bmZpZz1+bS9ed2luZG93X3NpemVfd2lkdGg9KC4qKS8pIHsKPiA+Pj4+ICAgICAgICAkY29uZmln e3dpbmRvd19zaXplX3dpZHRofT0kMTsKPiA+Pj4+ICAgICAgICBuZXh0Owo+ID4+Pj4gICAgfQo+ ID4+Pj4g5LiA5pem6YWN572u5aSa5LqG5bCx6bq754Om5q275LqG44CC5oiW6K646L+Y5Y+v5Lul 6ICD6JmRIENvbmZpZzo6VGlueSBDb25maWc6OkluaUZpbGVzIOetiQo+ID4+Pj4KPiA+Pj4+IOaI keaAu+inieeahOiDveeUqCBDUEFOIOaooeWdl+WwseeUqCBDUEFOIOaooeWdl+OAguS9leW/hea1 qui0ueaXtumXtOWGjeWGmeS4gOasoeWIq+S6uuW3sue7j+WGmei/h+eahAo+ID4+Pj4g5Luj56CB 5ZGi44CC55So6L+Z5Lqb5aSn5a626YO95Zyo55So55qE5qih5Z2X6IO96K6pIFNoZWxsV2ViIOea hOS7o+eggeabtOWwkeabtOa4heaZsOOAggo+ID4+Pj4KPiA+Pj4+IC0tCj4gPj4+PiBGYXlsYW5k IExhbSAvLyBodHRwOi8vd3d3LmZheWxhbmQub3JnLwo+ID4+Pj4KPiA+Pj4+Cj4gPj4+Pgo+ID4+ Pj4KPiA+Pj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KPiA+Pj4+IFRoaXMgU0YubmV0IGVtYWlsIGlzIHNwb25zb3JlZCBieTogU3BsdW5r IEluYy4gRG8geW91IGdyZXAgdGhyb3VnaAo+IGxvZwo+ID4+Pj4KPiA+PiBmaWxlcwo+ID4+Cj4g Pj4+PiBmb3IgcHJvYmxlbXM/ICBTdG9wISAgRG93bmxvYWQgdGhlIG5ldyBBSkFYIHNlYXJjaCBl bmdpbmUgdGhhdCBtYWtlcwo+ID4+Pj4gc2VhcmNoaW5nIHlvdXIgbG9nIGZpbGVzIGFzIGVhc3kg YXMgc3VyZmluZyB0aGUgIHdlYi4gIERPV05MT0FECj4gU1BMVU5LIQo+ID4+Pj4gaHR0cDovL2Fk cy5vc2RuLmNvbS8/YWRfaWQ9NzYzNyZhbGxvY19pZD0xNjg2NSZvcD1jbGljawo+ID4+Pj4KPiA+ Pj4+Cj4gPj4+Pgo+ID4+PiAtLQo+ID4+PiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rCj4gPj4+IHxCeSBBbGV4ZSAoaHR0cDovL3d3dy5hbGV4ZS5jbil8Cj4g Pj4+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKPiA+Pj4K PiA+Pj4KPiA+Pgo+ID4KPiA+Cj4gPiAtLQo+ID4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKwo+ID4gIHxCeSBBbGV4ZSAoaHR0cDovL3d3dy5hbGV4ZS5jbil8 Cj4gPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4gPiBO GOeQgFnolpzpl4Xlpajug43vv71/J+efiOi+tee0pe6bge6dleWjvg7lsJDvv71/Cj4gPiDolYjo sa7jiKMh5p6FH+Wlp+eRjeWph+eVo+mNhWsS56e6Q++/vX8gICAgIOa/ie6cs+WRtOiYqQJAXuiP pO6FgV7vv71/CO6dgOixmOenhO6YoO+/vX8eau+/vX8h5aacMuOIpea+pwfpiLrvv71/Gui+qO6D pO+/vX8s5oKN6YmDIGF7B++/vX8KPiDpjZcs77+9fwNI6JufNOKVqeeom++/vX9p77+9fyjovp/l oI1v6LaYJ+mUg+m5mVlocifluoQ66Y62cljmuJI9PT0KPgo+IC0tCj4gRmF5bGFuZCBMYW0gLy8g aHR0cDovL3d3dy5mYXlsYW5kLm9yZy8KPgo+Cj4KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gVGhpcyBTRi5uZXQgZW1haWwgaXMgc3Bv bnNvcmVkIGJ5OiBTcGx1bmsgSW5jLiBEbyB5b3UgZ3JlcCB0aHJvdWdoIGxvZwo+IGZpbGVzCj4g Zm9yIHByb2JsZW1zPyAgU3RvcCEgIERvd25sb2FkIHRoZSBuZXcgQUpBWCBzZWFyY2ggZW5naW5l IHRoYXQgbWFrZXMKPiBzZWFyY2hpbmcgeW91ciBsb2cgZmlsZXMgYXMgZWFzeSBhcyBzdXJmaW5n IHRoZSAgd2ViLiAgRE9XTkxPQUQgU1BMVU5LIQo+IGh0dHA6Ly9hZHMub3Nkbi5jb20vP2FkX2lk PTc2MzcmYWxsb2NfaWQ9MTY4NjUmb3A9Y2xpY2sKPgo+CgoKLS0KT3BlbiB5b3VyIGV5ZXMsIHNo YXJlIHlvdXIgbWluZAo= |
|
From: yudong z. <sec...@gm...> - 2005-12-28 07:48:10
|
ztLT0Lj2z+u3qCy+zcrHvavL+dPQtcTF5NbD0MXPora8t8XU2sr91+m78tXfyaLB0NbQLNXi0fnW 99KqtcS5pNf3vs3Kx86qw7/Su7j21K3X07XExeTWw9DFz6LWuLao0ru49sP7s8YsyLu6872ry/nT 0MXk1sPQxc+it8XU2tK7uPbOxLz+1tCz9cq8u68uCgpPbiAxMi8yOC8wNSwgZmF5bGFuZCA8ZmF5 bGFuZEBnbWFpbC5jb20+IHdyb3RlOgo+Cj4gYWxleGEgtcQgU1lTVEVNX0NPTkZJRyDKx7fxv8nS 1L+8wsfTwyB1c2UgWUFNTDsKPiDV4sO00LS1xLuwo7oKPiAgICAgaWYgKCRjb25maWc9fm0vXndp bmRvd19zaXplX3dpZHRoPSguKikvKSB7Cj4gICAgICAgICAkY29uZmlne3dpbmRvd19zaXplX3dp ZHRofT0kMTsKPiAgICAgICAgIG5leHQ7Cj4gICAgIH0KPiDSu7WpxeTWw7bgwcu+zcLpt7PLwMHL oaO78tDtu7m/ydLUv7zCxyBDb25maWc6OlRpbnkgQ29uZmlnOjpJbmlGaWxlcyC1yAo+Cj4gztLX 3L71tcTE3NPDIENQQU4gxKO/6b7N08MgQ1BBTiDEo7/poaO6zrHYwMu30cqxvOTU2dC00ru0zrHw yMvS0b6t0LS5/bXECj4gtPrC68TYoaPTw9Xi0Km087zStrzU2tPDtcTEo7/pxNzIwyBTaGVsbFdl YiC1xLT6wuu4/MnZuPzH5c76oaMKPgo+IC0tCj4gRmF5bGFuZCBMYW0gLy8gaHR0cDovL3d3dy5m YXlsYW5kLm9yZy8KPgo+Cj4KPgo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KPiBUaGlzIFNGLm5ldCBlbWFpbCBpcyBzcG9uc29yZWQgYnk6 IFNwbHVuayBJbmMuIERvIHlvdSBncmVwIHRocm91Z2ggbG9nCj4gZmlsZXMKPiBmb3IgcHJvYmxl bXM/ICBTdG9wISAgRG93bmxvYWQgdGhlIG5ldyBBSkFYIHNlYXJjaCBlbmdpbmUgdGhhdCBtYWtl cwo+IHNlYXJjaGluZyB5b3VyIGxvZyBmaWxlcyBhcyBlYXN5IGFzIHN1cmZpbmcgdGhlICB3ZWIu ICBET1dOTE9BRCBTUExVTkshCj4gaHR0cDovL2Fkcy5vc2RuLmNvbS8/YWRfaWQ9NzYzNyZhbGxv Y19pZD0xNjg2NSZvcD1jbGljawo+Cj4K |
|
From: <ale...@gm...> - 2005-12-28 07:35:43
|
ZmF5bGFuZCzkvaDog73lkKbnu5nlh7rkvaDmjqjojZDnmoTov5nlh6DkuKrmqKHlnZflr7nlupTn jrDlnKhzaGVsbHdlYuS7o+eggeeahOWunuS+i++8nwrmiJHlr7nkuo7ov5nkupvmqKHlnZflubbk uI3lpKrmuIXmpZrvvIzlpoLmnpzmnInlrp7kvovnmoTor53vvIzmiJHkvJrovoPlrrnmmJPmr5To voPkuIDkupvjgIIKCuWcqCAwNS0xMi0yOO+8jGZheWxhbmQ8ZmF5bGFuZEBnbWFpbC5jb20+IOWG memBk++8mgo+IOWwvemHj+i3qOW5s+WPsO+8jOWunuWcqOayoeWKnuazleWPr+S7pemHh+WPlui/ meenjeWKnuazleOAggo+IGxvZyDnmoTor53miJHlgL7lkJHkuo7kvb/nlKjot6jlubPlj7DnmoQg TG9nOjpMb2c0cGVybAo+Cj4gYWxleGUuY25AZ21haWwuY29tIHdyb3RlOgo+ID4g5L2g6K+055qE 6L+Z5Liq5oOF5Ya15Lmf5Y+v5Lul77yM5L2G5piv5q+V56uf6L+Y6KaB5LuY5Ye65b6I5aSa5YW2 5LuW55qE5Yqq5Yqb77yM5L6L5aaC5rWL6K+V6L+Z5Lik5Liq5qih5Z2X55qE5YiG5Yir6L+Q6KGM 5oOF5Ya177yM5aaC5L2V57uf5LiA44CCCj4gPiDmgLvkuYvvvIzlnKjov5nmlrnpnaLnmoTlt6Xk vZzph4/lubbkuI3kvJrlvojlsJHvvIzpmaTpnZ7kvaDkuovlhYjlsLHljYHliIbkuobop6Pov5nk uKTkuKrmqKHlnZfjgIIKPiA+Cj4gPiDlnKggMDUtMTItMjjvvIxBbnRob255IFdVPGFudGhvbnl3 dXkya0BnbWFpbC5jb20+IOWGmemBk++8mgo+ID4KPiA+PiDpl5zmlrzot6jlubPlj7DmlrnpnaIK PiA+PiDmiJHovIPlgY/lkJEg5aaCIHdpbjMyIO+8jOS9v+eUqFdpbjMyOjpFdmVudExvZ++8jCBV bml4IOmhniDkvb/nlKhzeXNsb2dkIOeahOWBmuazle+8jOmblueEtuS4jeaYr+i3qOW5s+WPsOea hOaooee1hO+8jOS9hgo+ID4+IOS6puiDveWBmuWIsOaJgOmcgOimgeaxgu+8jOWPqumcgOimgSDo h6rooYzlr6sgbXlsaWI6OndpbjMyOjpsb2cg77yMIG15bGliOjp1bml4bGlrZTo6bG9nIO+8jCDn tbHkuIDpgqMy5YCLIGxpYgo+ID4+IOeahOiqv+eUqOaWueazle+8jOWwseaHieipsuaykuWFtuS7 lueahOWkp+WVj+mhjAo+ID4+Cj4gPj4gMjAwNS8xMi8yOCwgYWxleGUuY25AZ21haWwuY29tIDxh bGV4ZS5jbkBnbWFpbC5jb20+Ogo+ID4+Cj4gPj4+IDopCj4gPj4+IOaIkeadpeino+mHiuS4gOS4 i+WwvemHj+WwkeeUqGNwYW7mqKHlnZfnmoTljp/lm6DvvJoKPiA+Pj4g6aaW5YWI77yM5oiR5bm2 5LiN5piv5o6S5pal55SoY3BhbuaooeWdl++8jOWlveeahGNwYW7mqKHlnZflvZPnhLblj6/ku6Xp h4fnlKjjgIIKPiA+Pj4g5L2G5piv77yM6YeH55So5LiA5LiqY3BhbuaooeWdl+W/hemhu+S/neiv geS7peS4i+eahOWJjeaPkO+8mgo+ID4+Pgo+ID4+Pgo+ID4+IDEu5Y+v56e75qSN5oCn44CC5Y+v 5Lul5q2j5bi455qE5Zyo5oiR5Lus5omA6ZyA6KaB55qE5aSa5bmz5Y+w5LiL6L+Q6KGM77yM6KaB 55+l6YGT5pyJ5Lqb5qih5Z2X5ZyobGludXjkuIvlj6/ku6Xov5DooYzvvIzkvYbmmK93aW4zMuS4 i+S4jeiDvei/kOihjO+8jOi/meenjeaooeWdl+aIkeS7rOS4jeiDveS9v+eUqOOAggo+ID4+Cj4g Pj4gMi7kvp3otZbmgKfovoPkvY7jgILmnInlvojlpJrkvJjnp4DnmoRjcGFu5qih5Z2X77yM6ZyA 6KaB5L6d6LWW5YW25LuW55qEY3BhbuaooeWdl+aJjeiDvei/kOihjO+8jOWmguaenOaIkeS7rOW8 leWFpeS6hui/meS4qmNwYW7mqKHlnZfvvIzpgqPkuYjlhbbku5bnmoRjcGFu5qih5Z2X5Lmf5b+F 6aG75LiA5bm25byV5YWl77yM5aSn6YeP55qE5ZCE56eN57G75Z6L55qEY3BhbuaooeWdl+WKv+W/ heS8mue7meaIkeS7rOS7iuWQjueahOWPkeW4g+W4puadpeWbsOmavu+8jOaIkeS7rOS8muW+iOma vuS/neivgei/meS6m+aooeWdl+WcqOWkmuenjeW5s+WPsOS4iueahOi/kOihjOiDveWKm++8jOiA jOS4lOWmguaenOi9r+S7tui/m+S4gOatpeeahOWPkeWxle+8jOi/meS4quaooeWdl+WmguaenOaX oOazlemAgueUqOaIkeS7rOeahOimgeaxgu+8jOaIkeS7rOWwhuS8mumZt+WFpeiiq+WKqOeahOWx gOmdou+8jOiAjOS4lOWcqOe6oOmUmeaWuemdou+8jOaIkeS7rOmcgOimgeafpeaJvueahOW3peS9 nOmHj+S8muW+iOWkp++8jOacieWPr+iDveW/hemhu+afpeaJvuavj+S4quW8leWFpeeahOaooeWd l+aJjeiDveino+WGs+mXrumimOOAggo+ID4+Cj4gPj4+IDMu6K+l5qih5Z2X5bey57uP6ZW/5pe2 6Ze056iz5a6a55qE5a2Y5Zyo77yM5oiW6ICF5YWF5YiG6K+B5a6e5LqG6L+Z5Liq5qih5Z2X5Y+v 5Lul5Z+65pys5peg6Zeu6aKY55qE6L+Q6KGM44CCCj4gPj4+Cj4gPj4+Cj4gPj4gNC7lnKjlvJXl haXkuIDkuKrmqKHlnZfnmoTml7blgJnvvIzmiJHkuYvliY3lt7Lnu4/or7TkuobvvJrlj5Hpgq7k u7bpgJrnn6XlpKflrrbjgILnhLblkI7nu5nlh7rkvaDnmoTmqKHlnZflnKhzaGVsbHdlYuS4reea hOeUqOazleWunuS+i++8jOWkp+WutuWOu+agueaNruaIkeS4iumdoueahOinhOWImeafpemYheS4 gOS4i+WNsOivgeS4gOS4i+OAggo+ID4+Cj4gPj4+Cj4gPj4g5Zyo6aG555uu55qE5Yid5pyf77yM 5oiR5Lus5bm25LiN6KaB5rGC5b6I5b+r55qE5a6M5oiQ5p+Q6aG55Lu75Yqh77yM6ICM5piv5Li6 5LqG5Lul5ZCO6IO95b+r6YCf55qE5a6M5oiQ5Lu75Yqh5omT5LiL5aW955qE5Z+656GA77yM5Li6 5LqG6YG/5YWN6aG555uu6L+b5YWl5ZCO5pyf5Zug5Li65p+Q5Lqb6Ieq5bex5LiN6IO95oqK5o+h 55qE5LqL5oOF6ICM5ouW5YWl5rOl5r2t77yM5omA5Lul5YmN5pyf5oiR5oOz5bC96YeP55qE6LCo 5oWO5LiA5Lqb44CC6L+Z5piv5oiR546w5Zyo5a+55LqO6aG555uu55qE5Li75a+85oOz5rOV44CC Cj4gPj4KPiA+Pj4gMjAwNS8xMi8yOCwgZmF5bGFuZCA8ZmF5bGFuZEBnbWFpbC5jb20+Ogo+ID4+ Pgo+ID4+Pj4gYWxleGEg55qEIFNZU1RFTV9DT05GSUcg5piv5ZCm5Y+v5Lul6ICD6JmR55SoIHVz ZSBZQU1MOwo+ID4+Pj4g6L+Z5LmI5YaZ55qE6K+d77yaCj4gPj4+PiAgICBpZiAoJGNvbmZpZz1+ bS9ed2luZG93X3NpemVfd2lkdGg9KC4qKS8pIHsKPiA+Pj4+ICAgICAgICAkY29uZmlne3dpbmRv d19zaXplX3dpZHRofT0kMTsKPiA+Pj4+ICAgICAgICBuZXh0Owo+ID4+Pj4gICAgfQo+ID4+Pj4g 5LiA5pem6YWN572u5aSa5LqG5bCx6bq754Om5q275LqG44CC5oiW6K646L+Y5Y+v5Lul6ICD6JmR IENvbmZpZzo6VGlueSBDb25maWc6OkluaUZpbGVzIOetiQo+ID4+Pj4KPiA+Pj4+IOaIkeaAu+in ieeahOiDveeUqCBDUEFOIOaooeWdl+WwseeUqCBDUEFOIOaooeWdl+OAguS9leW/hea1qui0ueaX tumXtOWGjeWGmeS4gOasoeWIq+S6uuW3sue7j+WGmei/h+eahAo+ID4+Pj4g5Luj56CB5ZGi44CC 55So6L+Z5Lqb5aSn5a626YO95Zyo55So55qE5qih5Z2X6IO96K6pIFNoZWxsV2ViIOeahOS7o+eg geabtOWwkeabtOa4heaZsOOAggo+ID4+Pj4KPiA+Pj4+IC0tCj4gPj4+PiBGYXlsYW5kIExhbSAv LyBodHRwOi8vd3d3LmZheWxhbmQub3JnLwo+ID4+Pj4KPiA+Pj4+Cj4gPj4+Pgo+ID4+Pj4KPiA+ Pj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KPiA+Pj4+IFRoaXMgU0YubmV0IGVtYWlsIGlzIHNwb25zb3JlZCBieTogU3BsdW5rIEluYy4g RG8geW91IGdyZXAgdGhyb3VnaCBsb2cKPiA+Pj4+Cj4gPj4gZmlsZXMKPiA+Pgo+ID4+Pj4gZm9y IHByb2JsZW1zPyAgU3RvcCEgIERvd25sb2FkIHRoZSBuZXcgQUpBWCBzZWFyY2ggZW5naW5lIHRo YXQgbWFrZXMKPiA+Pj4+IHNlYXJjaGluZyB5b3VyIGxvZyBmaWxlcyBhcyBlYXN5IGFzIHN1cmZp bmcgdGhlICB3ZWIuICBET1dOTE9BRCBTUExVTkshCj4gPj4+PiBodHRwOi8vYWRzLm9zZG4uY29t Lz9hZF9pZD03NjM3JmFsbG9jX2lkPTE2ODY1Jm9wPWNsaWNrCj4gPj4+Pgo+ID4+Pj4KPiA+Pj4+ Cj4gPj4+IC0tCj4gPj4+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSsKPiA+Pj4gfEJ5IEFsZXhlIChodHRwOi8vd3d3LmFsZXhlLmNuKXwKPiA+Pj4gKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwo+ID4+Pgo+ID4+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+Cj4KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCj4gVGhpcyBTRi5uZXQgZW1haWwgaXMgc3BvbnNvcmVkIGJ5OiBT cGx1bmsgSW5jLiBEbyB5b3UgZ3JlcCB0aHJvdWdoIGxvZyBmaWxlcwo+IGZvciBwcm9ibGVtcz8g IFN0b3AhICBEb3dubG9hZCB0aGUgbmV3IEFKQVggc2VhcmNoIGVuZ2luZSB0aGF0IG1ha2VzCj4g c2VhcmNoaW5nIHlvdXIgbG9nIGZpbGVzIGFzIGVhc3kgYXMgc3VyZmluZyB0aGUgIHdlYi4gIERP V05MT0FEIFNQTFVOSyEKPiBodHRwOi8vYWRzLm9zZG4uY29tLz9hZF9pZD03NjM3JmFsbG9jX2lk PTE2ODY1Jm9wPWNsaWNrCj4KPgoKCi0tCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSsKIHxCeSBBbGV4ZSAoaHR0cDovL3d3dy5hbGV4ZS5jbil8CistLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsK |
|
From: fayland <fa...@gm...> - 2005-12-28 07:30:30
|
尽量跨平台,实在没办法可以采取这种办法。
log 的话我倾向于使用跨平台的 Log::Log4perl
ale...@gm... wrote:
> 你说的这个情况也可以,但是毕竟还要付出很多其他的努力,例如测试这两个模块的分别运行情况,如何统一。
> 总之,在这方面的工作量并不会很少,除非你事先就十分了解这两个模块。
>
> 在 05-12-28,Anthony WU<ant...@gm...> 写道:
>
>> 於跨平台方面
>> 我偏向 如 win32 ,使用Win32::EventLog, Unix 使用syslogd 的做法,然不是跨平台的模,但
>> 亦能做到所需要求,只需要 自行 mylib::win32::log , mylib::unixlike::log , 一那2 lib
>> 的用方法,就其他的大
>>
>> 2005/12/28, ale...@gm... <ale...@gm...>:
>>
>>> :)
>>> 我来解释一下尽量少用cpan模块的原因:
>>> 首先,我并不是排斥用cpan模块,好的cpan模块当然可以采用。
>>> 但是,采用一个cpan模块必须保证以下的前提:
>>>
>>>
>> 1.可移植性。可以正常的在我们所需要的多平台下运行,要知道有些模块在linux下可以运行,但是win32下不能运行,这种模块我们不能使用。
>>
>> 2.依赖性较低。有很多优秀的cpan模块,需要依赖其他的cpan模块才能运行,如果我们引入了这个cpan模块,那么其他的cpan模块也必须一并引入,大量的各种类型的cpan模块势必会给我们今后的发布带来困难,我们会很难保证这些模块在多种平台上的运行能力,而且如果软件进一步的发展,这个模块如果无法适用我们的要求,我们将会陷入被动的局面,而且在纠错方面,我们需要查找的工作量会很大,有可能必须查找每个引入的模块才能解决问题。
>>
>>> 3.该模块已经长时间稳定的存在,或者充分证实了这个模块可以基本无问题的运行。
>>>
>>>
>> 4.在引入一个模块的时候,我之前已经说了:发邮件通知大家。然后给出你的模块在shellweb中的用法实例,大家去根据我上面的规则查阅一下印证一下。
>>
>>>
>> 在项目的初期,我们并不要求很快的完成某项任务,而是为了以后能快速的完成任务打下好的基础,为了避免项目进入后期因为某些自己不能把握的事情而拖入泥潭,所以前期我想尽量的谨慎一些。这是我现在对于项目的主导想法。
>>
>>> 2005/12/28, fayland <fa...@gm...>:
>>>
>>>> alexa 的 SYSTEM_CONFIG 是否可以考虑用 use YAML;
>>>> 这么写的话:
>>>> if ($config=~m/^window_size_width=(.*)/) {
>>>> $config{window_size_width}=$1;
>>>> next;
>>>> }
>>>> 一旦配置多了就麻烦死了。或许还可以考虑 Config::Tiny Config::IniFiles 等
>>>>
>>>> 我总觉的能用 CPAN 模块就用 CPAN 模块。何必浪费时间再写一次别人已经写过的
>>>> 代码呢。用这些大家都在用的模块能让 ShellWeb 的代码更少更清晰。
>>>>
>>>> --
>>>> 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)|
>>> +--------------------------------------------+
>>>
>>>
>>
>
>
> --
> +--------------------------------------------+
> |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:27:38
|
xOPLtbXE1eK49sfpv/bSsr/J0tSjrLWrysexz765u7nSqri2s/a63LbgxuTL+7XExazBpqOswP3I 57LiytTV4sG9uPbEo7/ptcS31rHw1MvQ0Mfpv/ajrMjnus7Ns9K7oaMK19zWrqOs1NrV4re9w+a1 xLmk1/fBv7Kisru74brcydmjrLP9t8fE48rCz8i+zcqut9bBy73i1eLBvbj2xKO/6aGjCgrU2iAw NS0xMi0yOKOsQW50aG9ueSBXVTxhbnRob255d3V5MmtAZ21haWwuY29tPiDQtLXAo7oKPiDqUOy2 v+fGvcyot73D5go+IM7S3V7Gq8/yIMjnIHdpbjMyIKOsyrnTw1dpbjMyOjpFdmVudExvZ6OsIFVu aXgg7pAgyrnTw3N5c2xvZ2QgtcTX9reoo6zrbci7srvKx7/nxr3MqLXExKO9TaOstasKPiDS4MTc 1/a1vcv50OjSqsfzo6zWu9Do0qog19TQ0IyRIG15bGliOjp3aW4zMjo6bG9nIKOsIG15bGliOjp1 bml4bGlrZTo6bG9nIKOsIL150rvExzKCgCBsaWIKPiC1xNV708O3vbeoo6y+zZGq1JObXcbky/u1 xLTzhpbufQo+Cj4gMjAwNS8xMi8yOCwgYWxleGUuY25AZ21haWwuY29tIDxhbGV4ZS5jbkBnbWFp bC5jb20+Ogo+ID4gOikKPiA+IM7SwLS94srN0rvPwr6hwb/J2dPDY3BhbsSjv+m1xNSt0vKjugo+ ID4gytfPyKOsztKyorK7ysfFxbPi08NjcGFuxKO/6aOsusO1xGNwYW7Eo7/ptbHIu7/J0tSyydPD oaMKPiA+ILWrysejrLLJ08PSu7j2Y3BhbsSjv+mx2NDrsaPWpNLUz8K1xMewzOGjugo+ID4KPiAx Lr/J0sbWstDUoaO/ydLU1f2zo7XE1NrO0sPHy/nQ6NKqtcS24Ma9zKjPwtTL0NCjrNKq1qq1wNPQ 0KnEo7/p1NpsaW51eM/Cv8nS1NTL0NCjrLWrysd3aW4zMs/CsrvE3NTL0NCjrNXi1tbEo7/pztLD x7K7xNzKudPDoaMKPiA+Cj4gMi7SwMC10NS9z7XNoaPT0LrctuDTxdDjtcRjcGFuxKO/6aOs0OjS qtLAwLXG5Mv7tcRjcGFuxKO/6bLFxNzUy9DQo6zI57n7ztLDx9L9yOvBy9XiuPZjcGFuxKO/6aOs xMfDtMbky/u1xGNwYW7Eo7/p0rKx2NDr0ruyotL9yOujrLTzwb+1xLj31tbA4NDNtcRjcGFuxKO/ 6crGsdi74bj4ztLDx73xuvO1xLeisry0+MC0wKfE0aOsztLDx7vhutzE0bGj1qTV4tCpxKO/6dTa tuDW1sa9zKjJz7XE1MvQ0MTcwaajrLb4x9LI57n7yO28/r340ruyvbXEt6LVuaOs1eK49sSjv+nI 57n7zt63qMrK08PO0sPHtcTSqsfzo6zO0sPHvau74c/dyOuxu7avtcS+1sPmo6y2+MfS1Nq+wLTt t73D5qOsztLDx9Do0qqy6dXStcS5pNf3wb+74brctPOjrNPQv8nE3LHY0Ouy6dXSw7+49tL9yOu1 xMSjv+myxcTcveK+9s7KzOKhowo+ID4gMy64w8Sjv+nS0b6ts6TKsbzkzsi2qLXEtObU2qOsu/LV 37Pkt9bWpMq1wcvV4rj2xKO/6b/J0tS7+bG+zt7OyszitcTUy9DQoaMKPiA+Cj4gNC7U2tL9yOvS u7j2xKO/6bXEyrG68qOsztLWrsew0tG+rcu1wcujurei08q8/s2o1qq087zSoaPIu7rzuPiz9sTj tcTEo7/p1NpzaGVsbHdlYtbQtcTTw7eoyrXA/aOstPO80siluPm+3c7Syc/D5rXEuebU8rLp1MTS u8/C06HWpNK7z8Khowo+ID4KPiA+Cj4g1NrP7sS/tcSz9cbao6zO0sPHsqKyu9Kqx/O63L/stcTN 6rPJxLPP7sjOzvGjrLb4ysfOqsHL0tS688Tcv+zL2bXEzeqzycjOzvG08s/CusO1xLv5tKGjrM6q wcux3MPiz+7Ev734yOu688ba0vLOqsSz0KnX1Ly6srvE3LDRztW1xMrCx+m2+M3PyOvE4My2o6zL +dLUx7DG2s7Sz+u+ocG/tcS998n30rvQqaGj1eLKx87Sz9bU2rbU09rP7sS/tcTW97W8z+u3qKGj Cj4gPgo+ID4KPiA+IDIwMDUvMTIvMjgsIGZheWxhbmQgPGZheWxhbmRAZ21haWwuY29tPjoKPiA+ ID4gYWxleGEgtcQgU1lTVEVNX0NPTkZJRyDKx7fxv8nS1L+8wsfTwyB1c2UgWUFNTDsKPiA+ID4g 1eLDtNC0tcS7sKO6Cj4gPiA+ICAgIGlmICgkY29uZmlnPX5tL153aW5kb3dfc2l6ZV93aWR0aD0o LiopLykgewo+ID4gPiAgICAgICAgJGNvbmZpZ3t3aW5kb3dfc2l6ZV93aWR0aH09JDE7Cj4gPiA+ ICAgICAgICBuZXh0Owo+ID4gPiAgICB9Cj4gPiA+INK7tanF5NbDtuDBy77Nwum3s8vAwcuho7vy 0O27ub/J0tS/vMLHIENvbmZpZzo6VGlueSBDb25maWc6OkluaUZpbGVzILXICj4gPiA+Cj4gPiA+ IM7S19y+9bXExNzTwyBDUEFOIMSjv+m+zdPDIENQQU4gxKO/6aGjus6x2MDLt9HKsbzk1NnQtNK7 tM6x8MjL0tG+rdC0uf21xAo+ID4gPiC0+sLrxNiho9PD1eLQqbTzvNK2vNTa08O1xMSjv+nE3MjD IFNoZWxsV2ViILXEtPrC67j8ydm4/Mflzvqhowo+ID4gPgo+ID4gPiAtLQo+ID4gPiBGYXlsYW5k IExhbSAvLyBodHRwOi8vd3d3LmZheWxhbmQub3JnLwo+ID4gPgo+ID4gPgo+ID4gPgo+ID4gPgo+ ID4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCj4gPiA+IFRoaXMgU0YubmV0IGVtYWlsIGlzIHNwb25zb3JlZCBieTogU3BsdW5rIEluYy4g RG8geW91IGdyZXAgdGhyb3VnaCBsb2cKPiBmaWxlcwo+ID4gPiBmb3IgcHJvYmxlbXM/ICBTdG9w ISAgRG93bmxvYWQgdGhlIG5ldyBBSkFYIHNlYXJjaCBlbmdpbmUgdGhhdCBtYWtlcwo+ID4gPiBz ZWFyY2hpbmcgeW91ciBsb2cgZmlsZXMgYXMgZWFzeSBhcyBzdXJmaW5nIHRoZSAgd2ViLiAgRE9X TkxPQUQgU1BMVU5LIQo+ID4gPiBodHRwOi8vYWRzLm9zZG4uY29tLz9hZF9pZD03NjM3JmFsbG9j X2lkPTE2ODY1Jm9wPWNsaWNrCj4gPiA+Cj4gPiA+Cj4gPgo+ID4KPiA+IC0tCj4gPiArLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4gPiB8QnkgQWxleGUgKGh0 dHA6Ly93d3cuYWxleGUuY24pfAo+ID4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKwo+ID4KPgo+CgoKLS0KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKwogfEJ5IEFsZXhlIChodHRwOi8vd3d3LmFsZXhlLmNuKXwKKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwo= |
|
From: fayland <fa...@gm...> - 2005-12-28 07:27:27
|
因为配置文件是必须的。大家讨论是否可以引入一个配置文件模块。 比如 YAML Config::iniFiles Config::Tiny 之类的。或者还是直接写 perl 代码。 我个人倾向于 YAML yudong zhang wrote: > alexe.cn <http://alexe.cn>: > > > 我觉得你的观点很有道理,因为我之前在开发其他的项目的时候,就遇到过类似 > 的情形,使用第三方代码的时候的确需要谨慎一些。 > > On 12/28/05, *ale...@gm... <mailto:ale...@gm...>* < > ale...@gm... <mailto:ale...@gm...>> wrote: > > :) > 我来解释一下尽量少用cpan模块的原因: > 首先,我并不是排斥用cpan模块,好的cpan模块当然可以采用。 > 但是,采用一个cpan模块必须保证以下的前提: > 1.可移植性。可以正常的在我们所需要的多平台下运行,要知道有些模块在 > linux下可以运行,但是win32下不能运行,这种模块我们不能使用。 > 2.依赖性较低。有很多优秀的cpan模块,需要依赖其他的cpan模块才能运 > 行,如果我们引入了这个cpan模块,那么其他的cpan模块也必须一并引入, > 大量的各种类型的cpan模块势必会给我们今后的发布带来困难,我们会很难 > 保证这些模块在多种平台上的运行能力,而且如果软件进一步的发展,这个 > 模块如果无法适用我们的要求,我们将会陷入被动的局面,而且在纠错方 > 面,我们需要查找的工作量会很大,有可能必须查找每个引入的模块才能解 > 决问题。 > 3.该模块已经长时间稳定的存在,或者充分证实了这个模块可以基本无问题 > 的运行。 > 4.在引入一个模块的时候,我之前已经说了:发邮件通知大家。然后给出你 > 的模块在shellweb中的用法实例,大家去根据我上面的规则查阅一下印证一下。 > > 在项目的初期,我们并不要求很快的完成某项任务,而是为了以后能快速的 > 完成任务打下好的基础,为了避免项目进入后期因为某些自己不能把握的事 > 情而拖入泥潭,所以前期我想尽量的谨慎一些。这是我现在对于项目的主导 > 想法。 > > > 2005/12/28, fayland <fa...@gm... <mailto:fa...@gm...>>: > > alexa 的 SYSTEM_CONFIG 是否可以考虑用 use YAML; > > 这么写的话: > > if ($config=~m/^window_size_width=(.*)/) { > > $config{window_size_width}=$1; > > next; > > } > > 一旦配置多了就麻烦死了。或许还可以考虑 Config::Tiny > Config::IniFiles 等 > > > > 我总觉的能用 CPAN 模块就用 CPAN 模块。何必浪费时间再写一次别人已 > 经写过的 > > 代码呢。用这些大家都在用的模块能让 ShellWeb 的代码更少更清晰。 > > > > -- > > 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> > > > > > > > -- > +--------------------------------------------+ > |By Alexe (http://www.alexe.cn)| <http://www.alexe.cn%29%7C> > +--------------------------------------------+ > > -- Fayland Lam // http://www.fayland.org/ |
|
From: yudong z. <sec...@gm...> - 2005-12-28 07:22:28
|
YWxleGUuY246CgoKICAgztK+9bXDxOO1xLnbteO63NPQtcDA7aOs0vLOqs7S1q7HsNTav6q3osbk y/u1xM/uxL+1xMqxuvKjrL7N0/a1vbn9wODLxrXEx+nQzqOsyrnTw7XayP23vbT6wuu1xMqxuvK1 xMi30OjSqr33yffSu9CpoaMKCk9uIDEyLzI4LzA1LCBhbGV4ZS5jbkBnbWFpbC5jb20gPGFsZXhl LmNuQGdtYWlsLmNvbT4gd3JvdGU6Cj4KPiA6KQo+IM7SwLS94srN0rvPwr6hwb/J2dPDY3BhbsSj v+m1xNSt0vKjugo+IMrXz8ijrM7SsqKyu8rHxcWz4tPDY3BhbsSjv+mjrLrDtcRjcGFuxKO/6bWx yLu/ydLUssnTw6GjCj4gtavKx6OsssnTw9K7uPZjcGFuxKO/6bHY0Ouxo9ak0tTPwrXEx7DM4aO6 Cj4gMS6/ydLG1rLQ1KGjv8nS1NX9s6O1xNTaztLDx8v50OjSqrXEtuDGvcyoz8LUy9DQo6zSqtaq tcDT0NCpxKO/6dTabGludXjPwr/J0tTUy9DQo6y1q8rHd2luMzLPwrK7xNzUy9DQo6zV4tbWxKO/ 6c7Sw8eyu8TcyrnTw6GjCj4gMi7SwMC10NS9z7XNCj4goaPT0LrctuDTxdDjtcRjcGFuxKO/6aOs 0OjSqtLAwLXG5Mv7tcRjcGFuxKO/6bLFxNzUy9DQo6zI57n7ztLDx9L9yOvBy9XiuPZjcGFuxKO/ 6aOsxMfDtMbky/u1xGNwYW7Eo7/p0rKx2NDr0ruyotL9yOujrLTzwb+1xLj31tbA4NDNtcRjcGFu xKO/6crGsdi74bj4ztLDx73xuvO1xLeisry0+MC0wKfE0aOsztLDx7vhutzE0bGj1qTV4tCpxKO/ 6dTatuDW1sa9zKjJz7XE1MvQ0MTcwaajrLb4x9LI57n7yO28/r340ruyvbXEt6LVuaOs1eK49sSj v+nI57n7zt63qMrK08PO0sPHtcTSqsfzo6zO0sPHvau74c/dyOuxu7avtcS+1sPmo6y2+MfS1Nq+ wLTtt73D5qOsztLDx9Do0qqy6dXStcS5pNf3wb+74brctPOjrNPQv8nE3LHY0Ouy6dXSw7+49tL9 yOu1xMSjv+myxcTcveK+9s7KzOKhowo+IDMuuMPEo7/p0tG+rbOkyrG85M7Itqi1xLTm1NqjrLvy 1d+z5LfW1qTKtcHL1eK49sSjv+m/ydLUu/mxvs7ezsrM4rXE1MvQ0KGjCj4gNC7U2tL9yOvSu7j2 xKO/6bXEyrG68qOsztLWrsew0tG+rcu1wcujurei08q8/s2o1qq087zSoaPIu7rzuPiz9sTjtcTE o7/p1NpzaGVsbHdlYtbQtcTTw7eoyrXA/aOstPO80siluPm+3c7Syc/D5rXEuebU8rLp1MTSu8/C 06HWpNK7z8Khowo+Cj4KPiDU2s/uxL+1xLP1xtqjrM7Sw8eyorK70qrH87rcv+y1xM3qs8nEs8/u yM7O8aOstvjKx86qwcvS1LrzxNy/7MvZtcTN6rPJyM7O8bTyz8K6w7XEu/m0oaOszqrBy7Hcw+LP 7sS/vfjI67rzxtrS8s6qxLPQqdfUvLqyu8TcsNHO1bXEysLH6bb4zc/I68TgzLajrMv50tTHsMba ztLP676hwb+1xL33yffSu9CpoaPV4srHztLP1tTattTT2s/uxL+1xNb3tbzP67eooaMKPgo+Cj4g MjAwNS8xMi8yOCwgZmF5bGFuZCA8ZmF5bGFuZEBnbWFpbC5jb20+Ogo+ID4gYWxleGEgtcQgU1lT VEVNX0NPTkZJRyDKx7fxv8nS1L+8wsfTwyB1c2UgWUFNTDsKPiA+INXiw7TQtLXEu7Cjugo+ID4g ICAgaWYgKCRjb25maWc9fm0vXndpbmRvd19zaXplX3dpZHRoPSguKikvKSB7Cj4gPiAgICAgICAg JGNvbmZpZ3t3aW5kb3dfc2l6ZV93aWR0aH09JDE7Cj4gPiAgICAgICAgbmV4dDsKPiA+ICAgIH0K PiA+INK7tanF5NbDtuDBy77Nwum3s8vAwcuho7vy0O27ub/J0tS/vMLHIENvbmZpZzo6VGlueSBD b25maWc6OkluaUZpbGVzILXICj4gPgo+ID4gztLX3L71tcTE3NPDIENQQU4gxKO/6b7N08MgQ1BB TiDEo7/poaO6zrHYwMu30cqxvOTU2dC00ru0zrHwyMvS0b6t0LS5/bXECj4gPiC0+sLrxNiho9PD 1eLQqbTzvNK2vNTa08O1xMSjv+nE3MjDIFNoZWxsV2ViILXEtPrC67j8ydm4/Mflzvqhowo+ID4K PiA+IC0tCj4gPiBGYXlsYW5kIExhbSAvLyBodHRwOi8vd3d3LmZheWxhbmQub3JnLwo+ID4KPiA+ Cj4gPgo+ID4KPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KPiA+IFRoaXMgU0YubmV0IGVtYWlsIGlzIHNwb25zb3JlZCBieTogU3BsdW5r IEluYy4gRG8geW91IGdyZXAgdGhyb3VnaCBsb2cKPiBmaWxlcwo+ID4gZm9yIHByb2JsZW1zPyAg U3RvcCEgIERvd25sb2FkIHRoZSBuZXcgQUpBWCBzZWFyY2ggZW5naW5lIHRoYXQgbWFrZXMKPiA+ IHNlYXJjaGluZyB5b3VyIGxvZyBmaWxlcyBhcyBlYXN5IGFzIHN1cmZpbmcgdGhlICB3ZWIuICBE T1dOTE9BRCBTUExVTkshCj4gPiBodHRwOi8vYWRzLm9zZG4uY29tLz9hZF9pZD03NjM3JmFsbG9j X2lkPTE2ODY1Jm9wPWNsaWNrCj4gPgo+ID4KPgo+Cj4gLS0KPiArLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4gfEJ5IEFsZXhlIChodHRwOi8vd3d3LmFsZXhl LmNuKXwKPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4K |
|
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= |
|
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: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: Anthony WU <ant...@gm...> - 2005-12-28 06:32:06
|
6lDstr/nxr3MqLe9w+YKztLdXsarz/IgyOcgd2luMzIgo6zKudPDV2luMzI6OkV2ZW50TG9no6wg VW5peCDukCDKudPDc3lzbG9nZCC1xNf2t6ijrOttyLuyu8rHv+fGvcyotcTEo71No6y1qwrS4MTc 1/a1vcv50OjSqsfzo6zWu9Do0qog19TQ0IyRIG15bGliOjp3aW4zMjo6bG9nIKOsIG15bGliOjp1 bml4bGlrZTo6bG9nIKOsIL150rvExzKCgCBsaWIKtcTVe9PDt723qKOsvs2RqtSTm13G5Mv7tcS0 84aW7n0KCjIwMDUvMTIvMjgsIGFsZXhlLmNuQGdtYWlsLmNvbSA8YWxleGUuY25AZ21haWwuY29t PjoKPgo+IDopCj4gztLAtL3iys3Su8/CvqHBv8nZ08NjcGFuxKO/6bXE1K3S8qO6Cj4gytfPyKOs ztKyorK7ysfFxbPi08NjcGFuxKO/6aOsusO1xGNwYW7Eo7/ptbHIu7/J0tSyydPDoaMKPiC1q8rH o6yyydPD0ru49mNwYW7Eo7/psdjQ67Gj1qTS1M/CtcTHsMzho7oKPiAxLr/J0sbWstDUoaO/ydLU 1f2zo7XE1NrO0sPHy/nQ6NKqtcS24Ma9zKjPwtTL0NCjrNKq1qq1wNPQ0KnEo7/p1NpsaW51eM/C v8nS1NTL0NCjrLWrysd3aW4zMs/CsrvE3NTL0NCjrNXi1tbEo7/pztLDx7K7xNzKudPDoaMKPiAy LtLAwLXQ1L3Ptc0KPiCho9PQuty24NPF0OO1xGNwYW7Eo7/po6zQ6NKq0sDAtcbky/u1xGNwYW7E o7/pssXE3NTL0NCjrMjnufvO0sPH0v3I68HL1eK49mNwYW7Eo7/po6zEx8O0xuTL+7XEY3BhbsSj v+nSsrHY0OvSu7Ki0v3I66OstPPBv7XEuPfW1sDg0M21xGNwYW7Eo7/pysax2LvhuPjO0sPHvfG6 87XEt6KyvLT4wLTAp8TRo6zO0sPHu+G63MTRsaPWpNXi0KnEo7/p1Nq24NbWxr3MqMnPtcTUy9DQ xNzBpqOstvjH0sjnufvI7bz+vfjSu7K9tcS3otW5o6zV4rj2xKO/6cjnufvO3reoysrTw87Sw8e1 xNKqx/OjrM7Sw8e9q7vhz93I67G7tq+1xL7Ww+ajrLb4x9LU2r7AtO23vcPmo6zO0sPH0OjSqrLp 1dK1xLmk1/fBv7vhuty086Os09C/ycTcsdjQ67Lp1dLDv7j20v3I67XExKO/6bLFxNy94r72zsrM 4qGjCj4gMy64w8Sjv+nS0b6ts6TKsbzkzsi2qLXEtObU2qOsu/LV37Pkt9bWpMq1wcvV4rj2xKO/ 6b/J0tS7+bG+zt7OyszitcTUy9DQoaMKPiA0LtTa0v3I69K7uPbEo7/ptcTKsbryo6zO0taux7DS 0b6ty7XBy6O6t6LTyrz+zajWqrTzvNKho8i7uvO4+LP2xOO1xMSjv+nU2nNoZWxsd2Vi1tC1xNPD t6jKtcD9o6y087zSyKW4+b7dztLJz8PmtcS55tTysunUxNK7z8LTodak0rvPwqGjCj4KPgo+INTa z+7Ev7XEs/XG2qOsztLDx7KisrvSqsfzuty/7LXEzeqzycSzz+7Izs7xo6y2+MrHzqrBy9LUuvPE 3L/sy9m1xM3qs8nIzs7xtPLPwrrDtcS7+bSho6zOqsHLsdzD4s/uxL+9+MjruvPG2tLyzqrEs9Cp 19S8urK7xNyw0c7VtcTKwsfptvjNz8jrxODMtqOsy/nS1MewxtrO0s/rvqHBv7XEvffJ99K70Kmh o9XiysfO0s/W1Nq21NPaz+7Ev7XE1ve1vM/rt6ihowo+Cj4KPiAyMDA1LzEyLzI4LCBmYXlsYW5k IDxmYXlsYW5kQGdtYWlsLmNvbT46Cj4gPiBhbGV4YSC1xCBTWVNURU1fQ09ORklHIMrHt/G/ydLU v7zCx9PDIHVzZSBZQU1MOwo+ID4g1eLDtNC0tcS7sKO6Cj4gPiAgICBpZiAoJGNvbmZpZz1+bS9e d2luZG93X3NpemVfd2lkdGg9KC4qKS8pIHsKPiA+ICAgICAgICAkY29uZmlne3dpbmRvd19zaXpl X3dpZHRofT0kMTsKPiA+ICAgICAgICBuZXh0Owo+ID4gICAgfQo+ID4g0ru1qcXk1sO24MHLvs3C 6bezy8DBy6Gju/LQ7bu5v8nS1L+8wscgQ29uZmlnOjpUaW55IENvbmZpZzo6SW5pRmlsZXMgtcgK PiA+Cj4gPiDO0tfcvvW1xMTc08MgQ1BBTiDEo7/pvs3TwyBDUEFOIMSjv+mho7rOsdjAy7fRyrG8 5NTZ0LTSu7TOsfDIy9LRvq3QtLn9tcQKPiA+ILT6wuvE2KGj08PV4tCptPO80ra81NrTw7XExKO/ 6cTcyMMgU2hlbGxXZWIgtcS0+sLruPzJ2bj8x+XO+qGjCj4gPgo+ID4gLS0KPiA+IEZheWxhbmQg TGFtIC8vIGh0dHA6Ly93d3cuZmF5bGFuZC5vcmcvCj4gPgo+ID4KPiA+Cj4gPgo+ID4gLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gVGhp cyBTRi5uZXQgZW1haWwgaXMgc3BvbnNvcmVkIGJ5OiBTcGx1bmsgSW5jLiBEbyB5b3UgZ3JlcCB0 aHJvdWdoIGxvZwo+IGZpbGVzCj4gPiBmb3IgcHJvYmxlbXM/ICBTdG9wISAgRG93bmxvYWQgdGhl IG5ldyBBSkFYIHNlYXJjaCBlbmdpbmUgdGhhdCBtYWtlcwo+ID4gc2VhcmNoaW5nIHlvdXIgbG9n IGZpbGVzIGFzIGVhc3kgYXMgc3VyZmluZyB0aGUgIHdlYi4gIERPV05MT0FEIFNQTFVOSyEKPiA+ IGh0dHA6Ly9hZHMub3Nkbi5jb20vP2FkX2lkPTc2MzcmYWxsb2NfaWQ9MTY4NjUmb3A9Y2xpY2sK PiA+Cj4gPgo+Cj4KPiAtLQo+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSsKPiB8QnkgQWxleGUgKGh0dHA6Ly93d3cuYWxleGUuY24pfAo+ICstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKPgo= |
|
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: 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:15:02
|
OikKztLAtL3iys3Su8/CvqHBv8nZ08NjcGFuxKO/6bXE1K3S8qO6CsrXz8ijrM7SsqKyu8rHxcWz 4tPDY3BhbsSjv+mjrLrDtcRjcGFuxKO/6bWxyLu/ydLUssnTw6GjCrWrysejrLLJ08PSu7j2Y3Bh bsSjv+mx2NDrsaPWpNLUz8K1xMewzOGjugoxLr/J0sbWstDUoaO/ydLU1f2zo7XE1NrO0sPHy/nQ 6NKqtcS24Ma9zKjPwtTL0NCjrNKq1qq1wNPQ0KnEo7/p1NpsaW51eM/Cv8nS1NTL0NCjrLWrysd3 aW4zMs/CsrvE3NTL0NCjrNXi1tbEo7/pztLDx7K7xNzKudPDoaMKMi7SwMC10NS9z7XNoaPT0Lrc tuDTxdDjtcRjcGFuxKO/6aOs0OjSqtLAwLXG5Mv7tcRjcGFuxKO/6bLFxNzUy9DQo6zI57n7ztLD x9L9yOvBy9XiuPZjcGFuxKO/6aOsxMfDtMbky/u1xGNwYW7Eo7/p0rKx2NDr0ruyotL9yOujrLTz wb+1xLj31tbA4NDNtcRjcGFuxKO/6crGsdi74bj4ztLDx73xuvO1xLeisry0+MC0wKfE0aOsztLD x7vhutzE0bGj1qTV4tCpxKO/6dTatuDW1sa9zKjJz7XE1MvQ0MTcwaajrLb4x9LI57n7yO28/r34 0ruyvbXEt6LVuaOs1eK49sSjv+nI57n7zt63qMrK08PO0sPHtcTSqsfzo6zO0sPHvau74c/dyOux u7avtcS+1sPmo6y2+MfS1Nq+wLTtt73D5qOsztLDx9Do0qqy6dXStcS5pNf3wb+74brctPOjrNPQ v8nE3LHY0Ouy6dXSw7+49tL9yOu1xMSjv+myxcTcveK+9s7KzOKhowozLrjDxKO/6dLRvq2zpMqx vOTOyLaotcS05tTao6y78tXfs+S31takyrXBy9XiuPbEo7/pv8nS1Lv5sb7O3s7KzOK1xNTL0NCh owo0LtTa0v3I69K7uPbEo7/ptcTKsbryo6zO0taux7DS0b6ty7XBy6O6t6LTyrz+zajWqrTzvNKh o8i7uvO4+LP2xOO1xMSjv+nU2nNoZWxsd2Vi1tC1xNPDt6jKtcD9o6y087zSyKW4+b7dztLJz8Pm tcS55tTysunUxNK7z8LTodak0rvPwqGjCgrU2s/uxL+1xLP1xtqjrM7Sw8eyorK70qrH87rcv+y1 xM3qs8nEs8/uyM7O8aOstvjKx86qwcvS1LrzxNy/7MvZtcTN6rPJyM7O8bTyz8K6w7XEu/m0oaOs zqrBy7Hcw+LP7sS/vfjI67rzxtrS8s6qxLPQqdfUvLqyu8TcsNHO1bXEysLH6bb4zc/I68TgzLaj rMv50tTHsMbaztLP676hwb+1xL33yffSu9CpoaPV4srHztLP1tTattTT2s/uxL+1xNb3tbzP67eo oaMKCgoyMDA1LzEyLzI4LCBmYXlsYW5kIDxmYXlsYW5kQGdtYWlsLmNvbT46Cj4gYWxleGEgtcQg U1lTVEVNX0NPTkZJRyDKx7fxv8nS1L+8wsfTwyB1c2UgWUFNTDsKPiDV4sO00LS1xLuwo7oKPiAg ICBpZiAoJGNvbmZpZz1+bS9ed2luZG93X3NpemVfd2lkdGg9KC4qKS8pIHsKPiAgICAgICAgJGNv bmZpZ3t3aW5kb3dfc2l6ZV93aWR0aH09JDE7Cj4gICAgICAgIG5leHQ7Cj4gICAgfQo+INK7tanF 5NbDtuDBy77Nwum3s8vAwcuho7vy0O27ub/J0tS/vMLHIENvbmZpZzo6VGlueSBDb25maWc6Oklu aUZpbGVzILXICj4KPiDO0tfcvvW1xMTc08MgQ1BBTiDEo7/pvs3TwyBDUEFOIMSjv+mho7rOsdjA y7fRyrG85NTZ0LTSu7TOsfDIy9LRvq3QtLn9tcQKPiC0+sLrxNiho9PD1eLQqbTzvNK2vNTa08O1 xMSjv+nE3MjDIFNoZWxsV2ViILXEtPrC67j8ydm4/Mflzvqhowo+Cj4gLS0KPiBGYXlsYW5kIExh bSAvLyBodHRwOi8vd3d3LmZheWxhbmQub3JnLwo+Cj4KPgo+Cj4gLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+IFRoaXMgU0YubmV0IGVtYWls IGlzIHNwb25zb3JlZCBieTogU3BsdW5rIEluYy4gRG8geW91IGdyZXAgdGhyb3VnaCBsb2cgZmls ZXMKPiBmb3IgcHJvYmxlbXM/ICBTdG9wISAgRG93bmxvYWQgdGhlIG5ldyBBSkFYIHNlYXJjaCBl bmdpbmUgdGhhdCBtYWtlcwo+IHNlYXJjaGluZyB5b3VyIGxvZyBmaWxlcyBhcyBlYXN5IGFzIHN1 cmZpbmcgdGhlICB3ZWIuICBET1dOTE9BRCBTUExVTkshCj4gaHR0cDovL2Fkcy5vc2RuLmNvbS8/ YWRfaWQ9NzYzNyZhbGxvY19pZD0xNjg2NSZvcD1jbGljawo+Cj4KCgotLQorLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiB8QnkgQWxleGUgKGh0dHA6Ly93d3cu YWxleGUuY24pfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r Cg== |
|
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 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:12:46
|
alexa 的 SYSTEM_CONFIG 是否可以考虑用 use YAML;
这么写的话:
if ($config=~m/^window_size_width=(.*)/) {
$config{window_size_width}=$1;
next;
}
一旦配置多了就麻烦死了。或许还可以考虑 Config::Tiny Config::IniFiles 等
我总觉的能用 CPAN 模块就用 CPAN 模块。何必浪费时间再写一次别人已经写过的
代码呢。用这些大家都在用的模块能让 ShellWeb 的代码更少更清晰。
--
Fayland Lam // http://www.fayland.org/
|
|
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: yudong z. <sec...@gm...> - 2005-12-27 02:54:42
|
5ZOI5ZOI77yM5aW955qE77yMVGh1bmRlcmJpcmTpg73mnInlk6rkupvlpb3lpITlkaLjgIIKCk9u IDEyLzI3LzA1LCBuYW4gPHJheW1hbmFuQGdtYWlsLmNvbT4gd3JvdGU6Cj4KPiBBbGV4Ze+8muS4 jeWlveaEj+aAne+8jOaYqOWkqeacieS6i+ayoeWPiuaXtuWbnuS/oe+8jOeOsOWcqOmZhOS4iuS4 pOWwgemCruS7tueahOWOn+Wni+mCruS7tu+8jOWmguaenOacieaXtumXtOeahOivneWPr+S7peec i+S4gOS4i+OAggo+IOaIkeWHhuWkh+eUqFRodW5kZXJiaXJkIOS6huOAggo+Cj4KPiAyMDA1LzEy LzI2LCBhbGV4ZS5jbkBnbWFpbC5jb20gPGFsZXhlLmNuQGdtYWlsLmNvbT46Cj4gPgo+ID4gbmFu 77yMZ21haWzmnInkuKrmmL7npLrljp/lp4vpgq7ku7bnmoTpgInpobnvvIzor7flsIbkuIrpnaLk uKTlsIHljp/lp4vpgq7ku7bnmoTlhoXlrrnlj5HpgIHov4fmnaXvvIzmiJHlho3nu4bnnIvnnIvl r7nnhafkuIDkuIvjgIIKPiA+Cj4gPgo+ID4gMjAwNS8xMi8yNiwgbmFuIDwgcmF5bWFuYW5AZ21h aWwuY29tPjoKPiA+ID4gQWxleGXvvJoi77yf6L+Z5bCB6YKu5Lu26IO955yL5Yiw5ZCX77yfIui/ meWwgeacieWGheWuue+8mwo+ID4gPiAi5Yia5omN5Y+I5Y+R6YCB5LqG5LiA5bCB5L+h77yM6IO9 55yL5Yiw5ZCX77yf5Y+K5pe25Zue5L+h44CCIui/meWwgeayoeacieWGheWuue+8jOe7j2ZheWxh bmQg5byV55So5LqG5omN55+l6YGT5YaF5a6544CCCj4gPiA+Cj4gPiA+Cj4gPiA+IDIwMDUvMTIv MjYsIG5hbiA8cmF5bWFuYW5AZ21haWwuY29tID46Cj4gPiA+ID4gQWxleGXvvIzor7flj4LogIPp mYTku7YKPiA+ID4gPgo+ID4gPiA+Cj4gPiA+ID4g5ZyoMDUtMTItMjbvvIxmYXlsYW5kIDxmYXls YW5kQGdtYWlsLmNvbT4g5YaZ6YGT77yaCj4gPiA+ID4KPiA+ID4gPiA+IOaIkeeUqCBUaHVuZGVy YmlyZCDmiYDmnInnmoTpgq7ku7bpg73mjLrmraPluLjnmoTjgIIKPiA+ID4gPiA+Cj4gPiA+ID4g PiBhbGV4ZS5jbkBnbWFpbC5jb20gd3JvdGU6Cj4gPiA+ID4gPiA+IOWImuaJjeWPiOWPkemAgeS6 huS4gOWwgeS/oe+8jOiDveeci+WIsOWQl++8n+WPiuaXtuWbnuS/oeOAggo+ID4gPiA+ID4gPgo+ ID4gPiA+ID4gPiDlnKggMDUtMTItMjbvvIxhbGV4ZS5jbkAgZ21haWwuY29tPCBhbGV4ZS5jbkBn bWFpbC5jb20+IOWGmemBk++8mgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPj4g77yf6L+Z5bCB6YKu 5Lu26IO955yL5Yiw5ZCX77yfCj4gPiA+ID4gPiA+Pgo+ID4gPiA+ID4gPj4gMjAwNS8xMi8yNiwg bmFuIDwgcmF5bWFuYW5AZ21haWwuY29tID46Cj4gPiA+ID4gPiA+Pgo+ID4gPiA+ID4gPj4+IOi/ meWwgeS/oeiDveeci+WIsOS6hu+8jOmCo+S5i+WJjeaIkemZhOS7tuS4reaJgOekuueahOmCo+as oeS4uuS7gOS5iOayoeacieWGheWuue+8n+aIkei/memHjOS4jeaYr+S5seeggeOAggo+ID4gPiA+ ID4gPj4+IOi/meS4qumXrumimOWmguaenOS4gOebtOS4jeiDveino+WGs+S7peWQjuayn+mAmuS4 iuecn+eahOS8muavlOi+g+m6u+eDpueahO+8jOe7j+W4uOacieaXtuiDveeci+WIsOacieaXtuec i+S4jeWIsO+8mu+8iAo+ID4gPiA+ID4gPj4+Cj4gPiA+ID4gPiA+Pj4KPiA+ID4gPiA+ID4+PiDl nKgwNS0xMi0yNu+8jGFsZXhlLmNuQCBnbWFpbC5jb20gPGFsZXhlLmNuQGdtYWlsLmNvbT4g5YaZ 6YGT77yaCj4gPiA+ID4gPiA+Pj4KPiA+ID4gPiA+ID4+Pj4g6L+Y5piv5pS25Yiw5Lmx56CB6ams 77yf5oiR56iN5b6u5L+u5pS55LqG5LiA5LiL77yM5L2g5YaN55yL55yL44CCCj4gPiA+ID4gPiA+ Pj4+Cj4gPiA+ID4gPiA+Pj4+IDIwMDUvMTIvMjYsIG5hbiA8cmF5bWFuYW5AZ21haWwuY29tID46 Cj4gPiA+ID4gPiA+Pj4+Cj4gPiA+ID4gPiA+Pj4+PiDop4HpmYTku7YKPiA+ID4gPiA+ID4+Pj4+ IO+8mu+8iAo+ID4gPiA+ID4gPj4+Pj4KPiA+ID4gPiA+ID4+Pj4+Cj4gPiA+ID4gPiA+Pj4+PiDl nKgwNS0xMi0yNu+8jGFsZXhlLmNuQCBnbWFpbC5jb20gPGFsZXhlLmNuQGdtYWlsLmNvbT4g5YaZ 6YGT77yaCj4gPiA+ID4gPiA+Pj4+Pgo+ID4gPiA+ID4gPj4+Pj4KPiA+ID4gPiA+ID4+Pj4+IC0t Cj4gPiA+ID4gPiA+Pj4+PiBUaGFua3MgJiBCZXN0IFJlZ2FyZHMhCj4gPiA+ID4gPiA+Pj4+Pgo+ ID4gPiA+ID4gPj4+Pj4gbmFuCj4gPiA+ID4gPiA+Pj4+Pgo+ID4gPiA+ID4gPj4+Pj4KPiA+ID4g PiA+ID4+Pj4gLS0KPiA+ID4gPiA+ID4+Pj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKwo+ID4gPiA+ID4gPj4+PiB8QnkgQWxleGUgKGh0dHA6Ly93d3cuYWxl eGUuY24pfAo+ID4gPiA+ID4gPj4+PiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rCj4gPiA+ID4gPiA+Pj4+Cj4gPiA+ID4gPiA+Pj4+Cj4gPiA+ID4gPiA+Pj4K PiA+ID4gPiA+ID4+PiAtLQo+ID4gPiA+ID4gPj4+IFRoYW5rcyAmIEJlc3QgUmVnYXJkcyEKPiA+ ID4gPiA+ID4+Pgo+ID4gPiA+ID4gPj4+IG5hbgo+ID4gPiA+ID4gPj4+Cj4gPiA+ID4gPiA+PiAt LQo+ID4gPiA+ID4gPj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKwo+ID4gPiA+ID4gPj4gIHxCeSBBbGV4ZSAoIGh0dHA6Ly93d3cuYWxleGUuY24pfAo+ID4g PiA+ID4gPj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwo+ ID4gPiA+ID4gPj4KPiA+ID4gPiA+ID4+Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+Cj4gPiA+ID4g PiA+IC0tCj4gPiA+ID4gPiA+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSsKPiA+ID4gPiA+ID4gIHxCeSBBbGV4ZSAoIGh0dHA6Ly93d3cuYWxleGUuY24pfAo+ ID4gPiA+ID4gPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r Cj4gPiA+ID4gPiA+IE4Y55CAWeiWnOmXheWlqO6Dje+/vX8n55+I6L6157Sl7puB7p2V5aO+DuWw kO+/vX8KPiA+ID4gPiA+ID4g6JWI6LGu44ijIeaehR/lpafnkY3lqYfnlaPpjYVrEuenukPvv71/ ICAgICDmv4nunLPlkbTomKkCQF7oj6TuhYFe77+9fwjunYDosZjnp4TumKDvv71/Hmrvv71/IeWm nDLjiKXmvqcH6Yi677+9fxrovqjug6Tvv71/LOaCjemJgwo+ID4gYXsH77+9fwo+ID4gPiDpjZcs 77+9fwNI6JufNOKVqeeom++/vX9p77+9fyjovp/loI1v6LaYJ+mUg+m5mVlocifluoQ66Y62cljm uJI9PT0KPiA+ID4gPiA+Cj4gPiA+ID4gPiAtLQo+ID4gPiA+ID4gRmF5bGFuZCBMYW0gLy8gaHR0 cDovL3d3dy5mYXlsYW5kLm9yZy8KPiA+ID4gPiA+Cj4gPiA+ID4gPgo+ID4gPiA+ID4KPiA+ID4g PiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KPiA+ID4gPiA+IFRoaXMgU0YubmV0IGVtYWlsIGlzIHNwb25zb3JlZCBieTogU3BsdW5rIElu Yy4gRG8geW91IGdyZXAgdGhyb3VnaAo+ID4gbG9nCj4gPiA+IGZpbGVzCj4gPiA+ID4gPiBmb3Ig cHJvYmxlbXM/ICBTdG9wISAgRG93bmxvYWQgdGhlIG5ldyBBSkFYIHNlYXJjaCBlbmdpbmUgdGhh dAo+ID4gbWFrZXMKPiA+ID4gPiA+IHNlYXJjaGluZyB5b3VyIGxvZyBmaWxlcyBhcyBlYXN5IGFz IHN1cmZpbmcgdGhlICB3ZWIuICBET1dOTE9BRAo+ID4gU1BMVU5LIQo+ID4gPiA+ID4gaHR0cDov L2Fkcy5vc2RuLmNvbS8/YWRfaWQ9NzYzNyZhbGxvY19pZD0xNjg2NSZvcD1jbGljawo+ID4gPiA+ ID4KPiA+ID4gPiA+Cj4gPiA+ID4KPiA+ID4gPgo+ID4gPiA+Cj4gPiA+ID4gLS0KPiA+ID4gPiBU aGFua3MgJiBCZXN0IFJlZ2FyZHMhCj4gPiA+ID4KPiA+ID4gPiBuYW4KPiA+ID4gPgo+ID4gPgo+ ID4gPgo+ID4gPgo+ID4gPiAtLQo+ID4gPiBUaGFua3MgJiBCZXN0IFJlZ2FyZHMhCj4gPiA+Cj4g PiA+IG5hbgo+ID4KPiA+Cj4gPiAtLQo+ID4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKwo+ID4gfEJ5IEFsZXhlIChodHRwOi8vd3d3LmFsZXhlLmNuKXwKPiA+ ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKPiA+Cj4KPgo+ Cj4gLS0KPiBUaGFua3MgJiBCZXN0IFJlZ2FyZHMhCj4KPiBuYW4K |
|
From: nan <ray...@gm...> - 2005-12-27 02:11:17
|
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4NCjwhLS0gc2F2ZWQgZnJvbSB1cmw9KDAwODcpaHR0cDovL21haWwuZ29vZ2xlLmNvbS9t YWlsLz8maWs9NjkxYzI0ZDE3MCZ2aWV3PW9tJnRoPTEwODY1NDA1ZTZiNDFlNzQmeng9ZmUxdXZq YjZ4aHAwIC0tPg0KPEhUTUw+PEhFQUQ+DQo8TUVUQSBodHRwLWVxdWl2PUNvbnRlbnQtVHlwZSBj b250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9Z2IyMzEyIj4NCjxNRVRBIGNvbnRlbnQ9Ik1TSFRN TCA2LjAwLjI4MDAuMTUyOCIgbmFtZT1HRU5FUkFUT1I+PC9IRUFEPg0KPEJPRFk+PFBSRT4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICANClgtR21haWwtUmVjZWl2ZWQ6IDlmZTc1MDU4NDhkN2Zm ZWFkOTM0NGE4M2M3NzYxNzhiZGQxMmFhYjkNCkRlbGl2ZXJlZC1UbzogcmF5bWFuYW5AZ21haWwu Y29tDQpSZWNlaXZlZDogYnkgMTAuNDguMjA4LjUgd2l0aCBTTVRQIGlkIGY1Y3MyNjg4MW5mZzsN CiAgICAgICAgU3VuLCAyNSBEZWMgMjAwNSAyMDowODowNCAtMDgwMCAoUFNUKQ0KUmVjZWl2ZWQ6 IGJ5IDEwLjM3LjE1LjU2IHdpdGggU01UUCBpZCBzNTZtcjI4NjU4MjBuemk7DQogICAgICAgIFN1 biwgMjUgRGVjIDIwMDUgMjA6MDg6MDQgLTA4MDAgKFBTVCkNClJldHVybi1QYXRoOiAmbHQ7c2hl bGx3ZWItbWFpbi1hZG1pbkBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQmZ3Q7DQpSZWNlaXZlZDogZnJv bSBsaXN0cy1vdXRib3VuZC5zb3VyY2Vmb3JnZS5uZXQgKGxpc3RzLW91dGJvdW5kLnNvdXJjZWZv cmdlLm5ldCBbNjYuMzUuMjUwLjIyNV0pDQogICAgICAgIGJ5IG14LmdtYWlsLmNvbSB3aXRoIEVT TVRQIGlkIDhzaTQ2MzkxNzduem4uMjAwNS4xMi4yNS4yMC4wOC4wMjsNCiAgICAgICAgU3VuLCAy NSBEZWMgMjAwNSAyMDowODowNCAtMDgwMCAoUFNUKQ0KUmVjZWl2ZWQtU1BGOiBwYXNzIChnbWFp bC5jb206IGRvbWFpbiBvZiBzaGVsbHdlYi1tYWluLWFkbWluQGxpc3RzLnNvdXJjZWZvcmdlLm5l dCBkZXNpZ25hdGVzIDY2LjM1LjI1MC4yMjUgYXMgcGVybWl0dGVkIHNlbmRlcikNCkRvbWFpbktl eS1TdGF0dXM6IGJhZCAodGVzdCBtb2RlKQ0KUmVjZWl2ZWQ6IGZyb20gc2M4LXNmLWxpc3QxLWIu c291cmNlZm9yZ2UubmV0IChzYzgtc2YtbGlzdDEtYi5zb3VyY2Vmb3JnZS5uZXQgWzEwLjMuMS43 XSkNCglieSBzYzgtc2Ytc3BhbTIuc291cmNlZm9yZ2UubmV0IChQb3N0Zml4KSB3aXRoIEVTTVRQ DQoJaWQgQ0ZBOTBGRERDOyBTdW4sIDI1IERlYyAyMDA1IDIwOjA4OjAxIC0wODAwIChQU1QpDQpS ZWNlaXZlZDogZnJvbSBzYzgtc2YtbXgxLWIuc291cmNlZm9yZ2UubmV0IChbMTAuMy4xLjkxXSBo ZWxvPW1haWwuc291cmNlZm9yZ2UubmV0KQ0KCWJ5IHNjOC1zZi1saXN0MS5zb3VyY2Vmb3JnZS5u ZXQgd2l0aCBlc210cCAoRXhpbSA0LjMwKQ0KCWlkIDFFcWpkVi0wMDA4RUktVlENCglmb3Igc2hl bGx3ZWItbWFpbkBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ7IFN1biwgMjUgRGVjIDIwMDUgMjA6MDc6 MDEgLTA4MDANClJlY2VpdmVkOiBmcm9tIHpwcm94eS5nbWFpbC5jb20gKFs2NC4yMzMuMTYyLjIw NV0pDQoJYnkgbWFpbC5zb3VyY2Vmb3JnZS5uZXQgd2l0aCBlc210cCAoRXhpbSA0LjQ0KQ0KCWlk IDFFcWpkVi0wMDA3ZTItTjENCglmb3Igc2hlbGx3ZWItbWFpbkBsaXN0cy5zb3VyY2Vmb3JnZS5u ZXQ7IFN1biwgMjUgRGVjIDIwMDUgMjA6MDc6MDEgLTA4MDANClJlY2VpdmVkOiBieSB6cHJveHku Z21haWwuY29tIHdpdGggU01UUCBpZCByMjhzbzM5NDk0NG56YQ0KICAgICAgICBmb3IgJmx0O3No ZWxsd2ViLW1haW5AbGlzdHMuc291cmNlZm9yZ2UubmV0Jmd0OzsgU3VuLCAyNSBEZWMgMjAwNSAy MDowNjo1OSAtMDgwMCAoUFNUKQ0KRG9tYWluS2V5LVNpZ25hdHVyZTogYT1yc2Etc2hhMTsgcT1k bnM7IGM9bm9md3M7DQogICAgICAgIHM9YmV0YTsgZD1nbWFpbC5jb207DQogICAgICAgIGg9cmVj ZWl2ZWQ6bWVzc2FnZS1pZDpkYXRlOmZyb206dG86c3ViamVjdDppbi1yZXBseS10bzptaW1lLXZl cnNpb246Y29udGVudC10eXBlOmNvbnRlbnQtdHJhbnNmZXItZW5jb2Rpbmc6Y29udGVudC1kaXNw b3NpdGlvbjpyZWZlcmVuY2VzOw0KICAgICAgICBiPXR5eXNHZCtaSGNyd2g5NUNRU0Y4TC9MLzli a2VNNFgyTW11MC9JZjl0aXBDY3lmZXBKYTdJMzVraGRzLzE0bUd2MGNiUDFpbThXczlBV1dVWGR4 dkFINlNrSFFETUh6WmhXZGpBMzE5SVdOVnNRNWlsUXV2QTdWWDdFU21ydjl4UkJOeEFUbkFWRUlL c0ZCOU42NkY1eEN5WkoycXhLTjZPUUU2ajRyM2xHND0NClJlY2VpdmVkOiBieSAxMC4zNi40Ni4x MSB3aXRoIFNNVFAgaWQgdDExbXIyNzkzNzEybnp0Ow0KICAgICAgICBTdW4sIDI1IERlYyAyMDA1 IDIwOjA2OjU5IC0wODAwIChQU1QpDQpSZWNlaXZlZDogYnkgMTAuMzYuODQuMTAgd2l0aCBIVFRQ OyBTdW4sIDI1IERlYyAyMDA1IDIwOjA2OjU5IC0wODAwIChQU1QpDQpNZXNzYWdlLUlEOiAmbHQ7 NDU5MGQ1MjMwNTEyMjUyMDA2bDViMWY3MWVkaEBtYWlsLmdtYWlsLmNvbSZndDsNCkZyb206ICZs dDthbGV4ZS5jbkBnbWFpbC5jb20mZ3Q7DQpUbzogc2hlbGx3ZWItbWFpbkBsaXN0cy5zb3VyY2Vm b3JnZS5uZXQNCkluLVJlcGx5LVRvOiAmbHQ7NDU5MGQ1MjMwNTEyMjUyMDA2bjE4NmEzYzlkakBt YWlsLmdtYWlsLmNvbSZndDsNCk1JTUUtVmVyc2lvbjogMS4wDQpDb250ZW50LVR5cGU6IHRleHQv cGxhaW47IGNoYXJzZXQ9R0IyMzEyDQpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBiYXNlNjQN CkNvbnRlbnQtRGlzcG9zaXRpb246IGlubGluZQ0KUmVmZXJlbmNlczogJmx0O2QxODRjZGRmMDUx MjI1MTYzNnA1YjhlNGI4Y3hiMGY4YjdmZGUxOWU4NzE1QG1haWwuZ21haWwuY29tJmd0Ow0KCSAm bHQ7NDU5MGQ1MjMwNTEyMjUxODQ1eTdjMTUzODJhbEBtYWlsLmdtYWlsLmNvbSZndDsNCgkgJmx0 O2E4ZDM0MmNlMDUxMjI1MTkwN2szMjA3NjE2NmdAbWFpbC5nbWFpbC5jb20mZ3Q7DQoJICZsdDs0 NTkwZDUyMzA1MTIyNTE5MzltNjc2MmVmMmZxQG1haWwuZ21haWwuY29tJmd0Ow0KCSAmbHQ7YThk MzQyY2UwNTEyMjUyMDAwaTFlMDllMmI4eEBtYWlsLmdtYWlsLmNvbSZndDsNCgkgJmx0OzQ1OTBk NTIzMDUxMjI1MjAwNm4xODZhM2M5ZGpAbWFpbC5nbWFpbC5jb20mZ3Q7DQpYLVNwYW0tU2NvcmU6 IDAuMiAoLykNClgtU3BhbS1SZXBvcnQ6IFNwYW0gRmlsdGVyaW5nIHBlcmZvcm1lZCBieSBzb3Vy Y2Vmb3JnZS5uZXQuDQoJU2VlIGh0dHA6Ly9zcGFtYXNzYXNzaW4ub3JnL3RhZy8gZm9yIG1vcmUg ZGV0YWlscy4NCglSZXBvcnQgcHJvYmxlbXMgdG8gaHR0cDovL3NmLm5ldC90cmFja2VyLz9mdW5j PWFkZCZhbXA7Z3JvdXBfaWQ9MSZhbXA7YXRpZD0yMDAwMDENCgkwLjIgTk9fUkVBTF9OQU1FICAg ICAgICAgICBGcm9tOiBkb2VzIG5vdCBpbmNsdWRlIGEgcmVhbCBuYW1lDQoJMC4wIFJDVkRfQllf SVAgICAgICAgICAgICAgUmVjZWl2ZWQgYnkgbWFpbCBzZXJ2ZXIgd2l0aCBubyBuYW1lDQpTdWJq ZWN0OiBbU2hlbGx3ZWItbWFpbl0gPT9HQjIzMTI/Qj9VbVU2SUZ0VGFHVnNiSGRsWWkxdFlXbHVY U0JTWlRvZ1cxTm9aUT09Pz0gPT9HQjIzMTI/Qj9iR3gzWldJdGJXRnBibDBnVW1VNklGdFRhR1Zz YkhkbFlpMXRZUT09Pz0gPT9HQjIzMTI/Qj9hVzVkSUZKbE9pQmJVMmhsYkd4M1pXSXRiV0ZwYmww Z1VtVTZJQT09Pz0gPT9HQjIzMTI/Qj9XMU5vWld4c2QyVmlMVzFoYVc1ZElOVDF3N1RLMWJXOXRj VFR5cnordTduS3g4TFN3dXV3b1E9PT89DQpTZW5kZXI6IHNoZWxsd2ViLW1haW4tYWRtaW5AbGlz dHMuc291cmNlZm9yZ2UubmV0DQpFcnJvcnMtVG86IHNoZWxsd2ViLW1haW4tYWRtaW5AbGlzdHMu c291cmNlZm9yZ2UubmV0DQpYLUJlZW5UaGVyZTogc2hlbGx3ZWItbWFpbkBsaXN0cy5zb3VyY2Vm b3JnZS5uZXQNClgtTWFpbG1hbi1WZXJzaW9uOiAyLjAuOS1zZi5uZXQNClByZWNlZGVuY2U6IGJ1 bGsNClJlcGx5LVRvOiBzaGVsbHdlYi1tYWluQGxpc3RzLnNvdXJjZWZvcmdlLm5ldA0KTGlzdC1V bnN1YnNjcmliZTogJmx0O2h0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3Rp bmZvL3NoZWxsd2ViLW1haW4mZ3Q7LA0KCSZsdDttYWlsdG86c2hlbGx3ZWItbWFpbi1yZXF1ZXN0 QGxpc3RzLnNvdXJjZWZvcmdlLm5ldD9zdWJqZWN0PXVuc3Vic2NyaWJlJmd0Ow0KTGlzdC1JZDog Jmx0O3NoZWxsd2ViLW1haW4ubGlzdHMuc291cmNlZm9yZ2UubmV0Jmd0Ow0KTGlzdC1Qb3N0OiAm bHQ7bWFpbHRvOnNoZWxsd2ViLW1haW5AbGlzdHMuc291cmNlZm9yZ2UubmV0Jmd0Ow0KTGlzdC1I ZWxwOiAmbHQ7bWFpbHRvOnNoZWxsd2ViLW1haW4tcmVxdWVzdEBsaXN0cy5zb3VyY2Vmb3JnZS5u ZXQ/c3ViamVjdD1oZWxwJmd0Ow0KTGlzdC1TdWJzY3JpYmU6ICZsdDtodHRwczovL2xpc3RzLnNv dXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9zaGVsbHdlYi1tYWluJmd0OywNCgkmbHQ7bWFp bHRvOnNoZWxsd2ViLW1haW4tcmVxdWVzdEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ/c3ViamVjdD1z dWJzY3JpYmUmZ3Q7DQpMaXN0LUFyY2hpdmU6ICZsdDtodHRwOi8vc291cmNlZm9yZ2UubmV0L21h aWxhcmNoaXZlL2ZvcnVtLnBocD9mb3J1bT1zaGVsbHdlYi1tYWluJmd0Ow0KRGF0ZTogTW9uLCAy NiBEZWMgMjAwNSAxMjowNjo1OSArMDgwMA0KDQp1Tld5eGRQV3Q2TEx6Y0hMMHJ1MzR0REZvNnpF M0wrMHRiM0M4S08vdkxES3NidlkwTVdob3dvSzFOb2dNRFV0TVRJdE1qYWpyR0ZzDQpaWGhsTG1O dVFHZHRZV2xzTG1OdmJUeGhiR1Y0WlM1amJrQm5iV0ZwYkM1amIyMCtJTkMwdGNDanVnbytJS08v MWVLMzR0UEt2UDdFDQozTCswdGIzQzhLTy9DajRLUGlBeU1EQTFMekV5THpJMkxDQnVZVzRnUEhK aGVXMWhibUZ1UUdkdFlXbHNMbU52YlQ0NkNqNGdQaURWDQo0cmZpME1YRTNMKzB0YjNCeTZPc3hN Zldyc2V3enRLNHZieisxdERMK2NxK3RjVEV4N1RPenFyS3NzTzB3N3ZUME1UYXlOMmp2ODdTDQox ZUxBNzdLN3lzZkMwc0xyb2FNS1BpQStJTlhpdVBiT3lzeml5T2U1KzlLNzFyR3l1OFRjdmVLKzl0 TFV1dk81dGMyb3ljL1Y1clhFDQp1K0d4eUwzUHd1bTNzN1hFbzZ5K3JiT2owOURLc2NUY3Y3UzF2 ZFBReXJHL3RMSzd0YjJqdXFPb0NqNGdQZ28rSUQ0S1BpQStJTlRhDQpNRFV0TVRJdE1qYWpyR0Zz WlhobExtTnVRR2R0WVdsc0xtTnZiU0E4WVd4bGVHVXVZMjVBWjIxaGFXd3VZMjl0UGlEUXRMWEFv N29LDQpQaUErSUQ0Z3U3bkt4OHJWdGIzQzBzTHJ3dTJqdjg3U3lkVE9vdERldU1UQnk5Szd6OEtq ck1UajFObS90TCswb2FNS1BpQStJRDRLDQpQaUErSUQ0Z01qQXdOUzh4TWk4eU5pd2dibUZ1SUR4 eVlYbHRZVzVoYmtCbmJXRnBiQzVqYjIwZ1Bqb0tQaUErSUQ0Z1BpQzgrN2k5DQp2UDRLUGlBK0lE NGdQaUNqdXFPb0NqNGdQaUErSUQ0S1BpQStJRDRnUGdvK0lENGdQaUErSU5UYU1EVXRNVEl0TWph anJHRnNaWGhsDQpMbU51UUdkdFlXbHNMbU52YlNBOFlXeGxlR1V1WTI1QVoyMWhhV3d1WTI5dFBp RFF0TFhBbzdvS1BpQStJRDRnUGlBK0NqNGdQaUErDQpJRDRLUGlBK0lENGdQZ28rSUQ0Z1BpQStD ajRnUGlBK0lENGdMUzBLUGlBK0lENGdQaUJVYUdGdWEzTWdKaUJDWlhOMElGSmxaMkZ5DQpaSE1o Q2o0Z1BpQStJRDRLUGlBK0lENGdQaUJ1WVc0S1BpQStJRDRnUGdvK0lENGdQZ28rSUQ0Z1BnbytJ RDRnUGlBdExRbytJRDRnDQpQaUFyTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0 TFMwdExTMHRMUzB0TFMwdExTMHRMUzByQ2o0Z1BpQStJSHhDDQplU0JCYkdWNFpTQW9hSFIwY0Rv dkwzZDNkeTVoYkdWNFpTNWpiaWw4Q2o0Z1BpQStJQ3N0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0 DQpMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTc0tQaUErSUQ0S1BpQStDajRnUGdv K0lENEtQaUErSUMwdENqNGdQaUJVDQphR0Z1YTNNZ0ppQkNaWE4wSUZKbFoyRnlaSE1oQ2o0Z1Bn bytJRDRnYm1GdUNqNEtQZ28rSUMwdENqNGdLeTB0TFMwdExTMHRMUzB0DQpMUzB0TFMwdExTMHRM UzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdEt3bytJQ0I4UW5rZ1FXeGxlR1VnS0doMGRI QTZMeTkzDQpkM2N1WVd4bGVHVXVZMjRwZkFvK0lDc3RMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRM UzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0DQpMUzB0TFNzS1Bnb0tDaTB0Q2lzdExTMHRMUzB0 TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0DQpMU3NLSUh4 Q2VTQkJiR1Y0WlNBb2FIUjBjRG92TDNkM2R5NWhiR1Y0WlM1amJpbDhDaXN0TFMwdExTMHRMUzB0 TFMwdExTMHRMUzB0DQpMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTc0sNCg0KDQot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpU aGlzIFNGLm5ldCBlbWFpbCBpcyBzcG9uc29yZWQgYnk6IFNwbHVuayBJbmMuIERvIHlvdSBncmVw IHRocm91Z2ggbG9nIGZpbGVzDQpmb3IgcHJvYmxlbXM/ICBTdG9wISAgRG93bmxvYWQgdGhlIG5l dyBBSkFYIHNlYXJjaCBlbmdpbmUgdGhhdCBtYWtlcw0Kc2VhcmNoaW5nIHlvdXIgbG9nIGZpbGVz IGFzIGVhc3kgYXMgc3VyZmluZyB0aGUgIHdlYi4gIERPV05MT0FEIFNQTFVOSyENCmh0dHA6Ly9h ZHMub3Nkbi5jb20vP2FkX2lkPTc2MzcmYW1wO2FsbG9jX2lkPTE2ODY1JmFtcDtvcD1jbGljaw0K DQo8L1BSRT48L0JPRFk+PC9IVE1MPg0K |
|
From: nan <ray...@gm...> - 2005-12-27 02:10:36
|
QWxleGXvvJrkuI3lpb3mhI/mgJ3vvIzmmKjlpKnmnInkuovmsqHlj4rml7blm57kv6HvvIznjrDl nKjpmYTkuIrkuKTlsIHpgq7ku7bnmoTljp/lp4vpgq7ku7bvvIzlpoLmnpzmnInml7bpl7TnmoTo r53lj6/ku6XnnIvkuIDkuIvjgIIK5oiR5YeG5aSH55SoVGh1bmRlcmJpcmQg5LqG44CCCgoKMjAw NS8xMi8yNiwgYWxleGUuY25AZ21haWwuY29tIDxhbGV4ZS5jbkBnbWFpbC5jb20+Ogo+Cj4gbmFu 77yMZ21haWzmnInkuKrmmL7npLrljp/lp4vpgq7ku7bnmoTpgInpobnvvIzor7flsIbkuIrpnaLk uKTlsIHljp/lp4vpgq7ku7bnmoTlhoXlrrnlj5HpgIHov4fmnaXvvIzmiJHlho3nu4bnnIvnnIvl r7nnhafkuIDkuIvjgIIKPgo+Cj4gMjAwNS8xMi8yNiwgbmFuIDxyYXltYW5hbkBnbWFpbC5jb20+ Ogo+ID4gQWxleGXvvJoi77yf6L+Z5bCB6YKu5Lu26IO955yL5Yiw5ZCX77yfIui/meWwgeacieWG heWuue+8mwo+ID4gIuWImuaJjeWPiOWPkemAgeS6huS4gOWwgeS/oe+8jOiDveeci+WIsOWQl++8 n+WPiuaXtuWbnuS/oeOAgiLov5nlsIHmsqHmnInlhoXlrrnvvIznu49mYXlsYW5kIOW8leeUqOS6 huaJjeefpemBk+WGheWuueOAggo+ID4KPiA+Cj4gPiAyMDA1LzEyLzI2LCBuYW4gPHJheW1hbmFu QGdtYWlsLmNvbT46Cj4gPiA+IEFsZXhl77yM6K+35Y+C6ICD6ZmE5Lu2Cj4gPiA+Cj4gPiA+Cj4g PiA+IOWcqDA1LTEyLTI277yMZmF5bGFuZCA8ZmF5bGFuZEBnbWFpbC5jb20+IOWGmemBk++8mgo+ ID4gPgo+ID4gPiA+IOaIkeeUqCBUaHVuZGVyYmlyZCDmiYDmnInnmoTpgq7ku7bpg73mjLrmraPl uLjnmoTjgIIKPiA+ID4gPgo+ID4gPiA+IGFsZXhlLmNuQGdtYWlsLmNvbSB3cm90ZToKPiA+ID4g PiA+IOWImuaJjeWPiOWPkemAgeS6huS4gOWwgeS/oe+8jOiDveeci+WIsOWQl++8n+WPiuaXtuWb nuS/oeOAggo+ID4gPiA+ID4KPiA+ID4gPiA+IOWcqCAwNS0xMi0yNu+8jGFsZXhlLmNuQGdtYWls LmNvbTwgYWxleGUuY25AZ21haWwuY29tPiDlhpnpgZPvvJoKPiA+ID4gPiA+Cj4gPiA+ID4gPj4g 77yf6L+Z5bCB6YKu5Lu26IO955yL5Yiw5ZCX77yfCj4gPiA+ID4gPj4KPiA+ID4gPiA+PiAyMDA1 LzEyLzI2LCBuYW4gPCByYXltYW5hbkBnbWFpbC5jb20gPjoKPiA+ID4gPiA+Pgo+ID4gPiA+ID4+ PiDov5nlsIHkv6Hog73nnIvliLDkuobvvIzpgqPkuYvliY3miJHpmYTku7bkuK3miYDnpLrnmoTp gqPmrKHkuLrku4DkuYjmsqHmnInlhoXlrrnvvJ/miJHov5nph4zkuI3mmK/kubHnoIHjgIIKPiA+ ID4gPiA+Pj4g6L+Z5Liq6Zeu6aKY5aaC5p6c5LiA55u05LiN6IO96Kej5Yaz5Lul5ZCO5rKf6YCa 5LiK55yf55qE5Lya5q+U6L6D6bq754Om55qE77yM57uP5bi45pyJ5pe26IO955yL5Yiw5pyJ5pe2 55yL5LiN5Yiw77ya77yICj4gPiA+ID4gPj4+Cj4gPiA+ID4gPj4+Cj4gPiA+ID4gPj4+IOWcqDA1 LTEyLTI277yMYWxleGUuY25AIGdtYWlsLmNvbSA8YWxleGUuY25AZ21haWwuY29tPiDlhpnpgZPv vJoKPiA+ID4gPiA+Pj4KPiA+ID4gPiA+Pj4+IOi/mOaYr+aUtuWIsOS5seeggemprO+8n+aIkeeo jeW+ruS/ruaUueS6huS4gOS4i++8jOS9oOWGjeeci+eci+OAggo+ID4gPiA+ID4+Pj4KPiA+ID4g PiA+Pj4+IDIwMDUvMTIvMjYsIG5hbiA8cmF5bWFuYW5AZ21haWwuY29tID46Cj4gPiA+ID4gPj4+ Pgo+ID4gPiA+ID4+Pj4+IOingemZhOS7tgo+ID4gPiA+ID4+Pj4+IO+8mu+8iAo+ID4gPiA+ID4+ Pj4+Cj4gPiA+ID4gPj4+Pj4KPiA+ID4gPiA+Pj4+PiDlnKgwNS0xMi0yNu+8jGFsZXhlLmNuQGdt YWlsLmNvbSA8YWxleGUuY25AZ21haWwuY29tPiDlhpnpgZPvvJoKPiA+ID4gPiA+Pj4+Pgo+ID4g PiA+ID4+Pj4+Cj4gPiA+ID4gPj4+Pj4gLS0KPiA+ID4gPiA+Pj4+PiBUaGFua3MgJiBCZXN0IFJl Z2FyZHMhCj4gPiA+ID4gPj4+Pj4KPiA+ID4gPiA+Pj4+PiBuYW4KPiA+ID4gPiA+Pj4+Pgo+ID4g PiA+ID4+Pj4+Cj4gPiA+ID4gPj4+PiAtLQo+ID4gPiA+ID4+Pj4gKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwo+ID4gPiA+ID4+Pj4gfEJ5IEFsZXhlIChodHRw Oi8vd3d3LmFsZXhlLmNuKXwKPiA+ID4gPiA+Pj4+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSsKPiA+ID4gPiA+Pj4+Cj4gPiA+ID4gPj4+Pgo+ID4gPiA+ID4+ Pgo+ID4gPiA+ID4+PiAtLQo+ID4gPiA+ID4+PiBUaGFua3MgJiBCZXN0IFJlZ2FyZHMhCj4gPiA+ ID4gPj4+Cj4gPiA+ID4gPj4+IG5hbgo+ID4gPiA+ID4+Pgo+ID4gPiA+ID4+IC0tCj4gPiA+ID4g Pj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwo+ID4gPiA+ ID4+ICB8QnkgQWxleGUgKCBodHRwOi8vd3d3LmFsZXhlLmNuKXwKPiA+ID4gPiA+PiArLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4gPiA+ID4gPj4KPiA+ID4g PiA+Pgo+ID4gPiA+ID4KPiA+ID4gPiA+Cj4gPiA+ID4gPiAtLQo+ID4gPiA+ID4gKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwo+ID4gPiA+ID4gIHxCeSBBbGV4 ZSAoIGh0dHA6Ly93d3cuYWxleGUuY24pfAo+ID4gPiA+ID4gKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwo+ID4gPiA+ID4gThjnkIBZ6Jac6ZeF5aWo7oON77+9 fyfnn4jovrXntKXum4HunZXlo74O5bCQ77+9fwo+ID4gPiA+ID4g6JWI6LGu44ijIeaehR/lpafn kY3lqYfnlaPpjYVrEuenukPvv71/ICAgICDmv4nunLPlkbTomKkCQF7oj6TuhYFe77+9fwjunYDo sZjnp4TumKDvv71/Hmrvv71/IeWmnDLjiKXmvqcH6Yi677+9fxrovqjug6Tvv71/LOaCjemJgwo+ IGF7B++/vX8KPiA+IOmNlyzvv71/A0jom5804pWp56ib77+9f2nvv71/KOi+n+WgjW/otpgn6ZSD 6bmZWWhyJ+W6hDrpjrZyWOa4kj09PQo+ID4gPiA+Cj4gPiA+ID4gLS0KPiA+ID4gPiBGYXlsYW5k IExhbSAvLyBodHRwOi8vd3d3LmZheWxhbmQub3JnLwo+ID4gPiA+Cj4gPiA+ID4KPiA+ID4gPgo+ ID4gPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KPiA+ID4gPiBUaGlzIFNGLm5ldCBlbWFpbCBpcyBzcG9uc29yZWQgYnk6IFNwbHVuayBJ bmMuIERvIHlvdSBncmVwIHRocm91Z2gKPiBsb2cKPiA+IGZpbGVzCj4gPiA+ID4gZm9yIHByb2Js ZW1zPyAgU3RvcCEgIERvd25sb2FkIHRoZSBuZXcgQUpBWCBzZWFyY2ggZW5naW5lIHRoYXQgbWFr ZXMKPiA+ID4gPiBzZWFyY2hpbmcgeW91ciBsb2cgZmlsZXMgYXMgZWFzeSBhcyBzdXJmaW5nIHRo ZSAgd2ViLiAgRE9XTkxPQUQKPiBTUExVTkshCj4gPiA+ID4gaHR0cDovL2Fkcy5vc2RuLmNvbS8/ YWRfaWQ9NzYzNyZhbGxvY19pZD0xNjg2NSZvcD1jbGljawo+ID4gPiA+Cj4gPiA+ID4KPiA+ID4K PiA+ID4KPiA+ID4KPiA+ID4gLS0KPiA+ID4gVGhhbmtzICYgQmVzdCBSZWdhcmRzIQo+ID4gPgo+ ID4gPiBuYW4KPiA+ID4KPiA+Cj4gPgo+ID4KPiA+IC0tCj4gPiBUaGFua3MgJiBCZXN0IFJlZ2Fy ZHMhCj4gPgo+ID4gbmFuCj4KPgo+IC0tCj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKwo+IHxCeSBBbGV4ZSAoaHR0cDovL3d3dy5hbGV4ZS5jbil8Cj4gKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwo+CgoKCi0tClRoYW5r cyAmIEJlc3QgUmVnYXJkcyEKCm5hbgo= |
|
From: <ale...@gm...> - 2005-12-26 09:49:49
|
QW50aG9ueSBXVSCjrNTaztK3xbP21f2zo7+qt6Kw5rG+x7CjrM+jzfvE48Tc0ae74WN2c7XEyrnT w6Ost/HU8tLUuvO74brcwum3s7XEo6w6KQrO0r2r1K3AtMG9uPZzYW1wbGXOxLz+0sa2r7W9wctz YW1wbGVfcHJvZ3JhbW1lxL/CvM/Co6y087zSv8nS1MvmseO1xLLiytRjdnO1xLv5sb7KudPDoaMK CtTaIDA1LTEyLTI2o6xBbnRob255IFdVPGFudGhvbnl3dXkya0BnbWFpbC5jb20+INC0tcCjugo+ IEhpIGFsZXhlCj4g1+7QwrXEQ1ZTINPQts60+rRh0OjSqtDeuMQKPiAjIyMjIyMjIyMjIyMjIwo+ IG15ICRzZXRfYWxsID0gSFRNTDo6VG9rZVBhcnNlci0+bmV3KCBcJGNvbnRlbnQpOwo+IHdoaWxl IChteSAkdG9rZW49JHNldF9hbGwtPmdldF90b2tlbikgewo+IGlmICgkdG9rZW4tPlswXSBlcSAn UycpIHsKPiBpZiAoJHRva2VuLT5bMV0gZXEgJ21ldGEnKSB7Cj4gaWYgKCR0b2tlbi0+WzJde2Nv bnRlbnR9KSB7Cj4gaWYgKCR0b2tlbi0+WzJde2NvbnRlbnR9PX5tLyguKiljaGFyc2V0PSguKikv KSB7Cj4gI3ByaW50ICIxaXMgJDJcbiI7Cj4gJHBhZ2VfZW5jb2RlPSQyOwo+IGxhc3Q7Cj4gfQo+ Cj4gfQo+IH0KPiB9Cj4gfQo+ICRwID0gSFRNTDo6VG9rZVBhcnNlci0+bmV3KCBcJGNvbnRlbnQp Owo+ICMjIyMjIyMjIyMjIyMjCj4guMSe6Qo+IG15ICRwID0gSFRNTDo6VG9rZVBhcnNlci0+bmV3 KCBcJGNvbnRlbnQpOwo+IGZvcmVhY2ggbXkgJHRva2VuICgkcC0+Z2V0X3RhZyAoJ1MnLCAnbWV0 YScpKSB7Cj4gaWYgKCR0b2tlbi0+WzFde2NvbnRlbnR9ICYmICR0b2tlbi0+WzFde2NvbnRlbnR9 PX5tLyguKiljaGFyc2V0PSguKikvKSB7Cj4gJHBhZ2VfZW5jb2RlPSQyOwo+IGxhc3Q7Cj4gfQo+ IH0KPiAjIyMjIyMjIyMjIyMjIwo+ILHI3V66w6Osv8nS1JxwydkgbG9vcCC0zpS1ILywIJxw0KEg Q2xhc3Mg1XvTwwo+Cj4geXVkb25nIHpoYW5nIMzhtb06Cj4KPiA+IGFsZXhlLmNuIDxodHRwOi8v YWxleGUuY24+Ogo+ID4KPiA+INbV09q/ydLUv7S1vdK7xqrN6tX7tcTOxNXCwcujrLncwO3UsdDB v+DBy6GjCj4gPgo+ID4gT24gMTIvMjYvMDUsICphbGV4ZS5jbkBnbWFpbC5jb20gPG1haWx0bzph bGV4ZS5jbkBnbWFpbC5jb20+Kgo+ID4gPGFsZXhlLmNuQGdtYWlsLmNvbSA8bWFpbHRvOmFsZXhl LmNuQGdtYWlsLmNvbT4+IHdyb3RlOgo+ID4KPiA+ICAgICDX7rP1yrnTw9XfytfPyNOmuMNjaGVj a291dCCz9sv509C1xLT6wuujugo+ID4gICAgIGN2cyAtZDpleHQ6WU9VUl9VU0VSTkFNRUB0ZXN0 Oi9jdnNyb290L3NoZWxsd2ViIGNvIHNoZWxsd2ViCj4gPgo+ID4gICAgIMi7uvO74czhyr7E48rk yOvD3MLro6zV4sDvtcRZT1VSX1VTRVJOQU1F0+vD3MLrtrzKx3NvdXJjZWZvcmdl16Ky4Qo+ID4g ICAgILXE1cu7p9Prw9zC66GjCj4gPgo+ID4gICAgIGNoZWNrb3V0s/a0+sLruvPE477Nv8nS1Lj8 uMTP4NOmtcS0+sLrwcuhowo+ID4gICAgILj8uMTN6rT6wuu686OsxOPM4b27vs2/ydLUyc+0q7W9 ztLDx7XEsta/4tbQo7oKPiA+ICAgICBjdnMgY29tbWl0IC1tICfV4sDv0LTJz8Tjy/nX97XEuPy4 xCehowo+ID4KPiA+ICAgICDU2sO/tM6/qsq8uaTX98ewo6zSu7aoz8i4/NDC0rvPwqOstNOy1r/i 1tDIobP21+7QwrT6wuujugo+ID4gICAgIGN2cyB1cGRhdGUKPiA+ICAgICDIu7rz1Nm/qsq8uaTX 96GjCj4gPgo+ID4gICAgIMjnufvE48/r1NrEv8K81tDM7bzT0ru49s7EvP6jugo+ID4gICAgIM/I 1NrE42NoZWNrb3V0s/a1xM7EvP680NbQvajBorrD1eK49s7EvP6jrMi7uvPU2Qo+ID4gICAgIGN2 cyBhZGQgeW91ZmlsZS5wbAo+ID4gICAgIGN2cyBjb21taXQgLW0gJ3RleHQgd2hhdCB5b3UgZG8n Cj4gPgo+ID4gICAgIMjnufvE48/ryb6z/dK7uPbOxLz+o7oKPiA+ICAgICBjdnMgcmVtb3ZlIHlv dXJmaWxlLnBsCj4gPiAgICAgY3ZzIGNvbW1pdCAtbSAndGV4dCB3aGF0IHlvdSBkbycKPiA+Cj4g PiAgICAg16LS4qO6zO28087EvP61xMqxuvKjrM7EvP6x2NDr09DE2sjdo6y/1cTayN2yorK7zO28 06GjCj4gPiAgICAgyb6z/cS/wry1xMqxuvKjrMS/wryx2NDrzqq/1aGjCj4gPiAgICAgx+u087zS yq631r33yfe1xL2owaLEv8K8o6zJvrP9xL/CvL3Pzqq3scv2o6y9qMGitcSy4srUxL/CvLa8t8XU 2go+ID4gICAgIHNhbXBsZV9wcm9ncmFtbWXPwtfuusOjrLb4x9K087zS0ruw49Kyw7vT0LHY0qq9 qMGixL/CvKGjCj4gPiAgICAgtPO80rj8uMTOxLz+tcTKsbryo6zSstDtxuTL+8jL0rLV/dTauPy4 xM2s0rvOxLz+o6zV4sqxyOe5+7j8uMS1xLK/Cj4gPiAgICAgt9ay+sn6s+XNu6Osx+u087zSz8jT w9PKvP7B0LHtwarPtaOssvvD97j319S4/LjEtcSyv7fWo6zQrcnMoaMKPiA+ICAgICDI57n7v8nE 3KOsvqHBv7Gj1qTSu7j2yMvN6rPJ0ru49re9w+a1xLmk1/ejrNXi0fm89cnZs+XNu7XEv8nE3NDU oaMKPiA+ICAgICDV4sDvu7nSqsfztPO80rK70qrL5rHj0v3I69DCtcRwZXJsxKO/6aOs1eK74bj4 z+7Ev7T4wLS63LbgtcSyu8i3tqgKPiA+ICAgICDQ1KOsyOe5+9Kq0v3I69DCxKO/6aOsx+vO8bHY z8jTw21haWxsaXN0zajWqtK7z8KjrMjnufu2vMjPzqrDu9PQzsoKPiA+ICAgICDM4qOs1NnM7bzT 0MK1xMSjv+mhowo+ID4KPiA+ICAgICDP1tTatcS917bOo6zX7tb30qq1xGN2c7LZ1/e+zcrH1eLQ qaGjCj4gPiAgICAg1Np3aW4zMs/Czca89sq508NUb3J0b2lzZUNWU6GjCj4gPiAgICAgsLLXsM3q s8m686OsyejWw9K7z8LIobP2o7oKPiA+ICAgICBDVlNST09UwO/D5szuo7o6ZXh0OllPVVJfVVNF Uk5BTUVAY3ZzLnNvdXJjZWZvcmdlLm5ldDoKPiA+ICAgICAvY3Zzcm9vdC9zaGVsbHdlYiBjbyBz aGVsbHdlYgo+ID4gICAgIMSjv+nA78PmzO6junNoZWxsd2ViCj4gPgo+ID4gICAgIMi7uvNUb3J0 b2lzZUNWU7XEyKGz9r7Nz+C1sdPayc/D5r3pydy1xGNoZWNrb3V0Cj4gPiAgICAgVG9ydG9pc2VD VlO1xLj80MK+zc/gtbHT2snPw+a96cnctcR1cGRhdGUKPiA+ICAgICBUb3J0b2lzZUNWU7XEzOG9 u77Nz+C1sdPayc/D5r3pydy1xGNvbW1pdAo+ID4gICAgIFRvcnRvaXNlQ1ZTtcTM7bzTvs3P4LWx 09rJz8PmvenJ3LXEYWRkCj4gPiAgICAgVG9ydG9pc2VDVlO1xMm+s/2+zc/gtbHT2snPw+a96cnc tcRyZW1vdmUKPiA+Cj4gPiAgICAgyrnTw1RvcnRvaXNlQ1ZTyc+yy7WltcS5/bPM0+vJz8PmvbK1 xGN2c8P8we61xNa00NC5/bPM0rvR+aGjCj4gPgo+ID4gICAgILu509DDu9C0tb21xKOs1Nm/tLTz vNK1xNKqx/PBy6GjCj4gPgo+ID4gICAgIC0tCj4gPiAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwo+ID4gICAgIHxCeSBBbGV4ZSAoaHR0cDovL3d3dy5h bGV4ZS5jbil8IDxodHRwOi8vd3d3LmFsZXhlLmNuJTI5JTdDPgo+ID4gICAgICstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKPiA+Cj4gPgo+Cj4KPgo+IC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiBUaGlz IFNGLm5ldCBlbWFpbCBpcyBzcG9uc29yZWQgYnk6IFNwbHVuayBJbmMuIERvIHlvdSBncmVwIHRo cm91Z2ggbG9nIGZpbGVzCj4gZm9yIHByb2JsZW1zPyAgU3RvcCEgIERvd25sb2FkIHRoZSBuZXcg QUpBWCBzZWFyY2ggZW5naW5lIHRoYXQgbWFrZXMKPiBzZWFyY2hpbmcgeW91ciBsb2cgZmlsZXMg YXMgZWFzeSBhcyBzdXJmaW5nIHRoZSAgd2ViLiAgRE9XTkxPQUQgU1BMVU5LIQo+IGh0dHA6Ly9h ZHMub3Nkbi5jb20vP2FkX2lkPTc2MzcmYWxsb2NfaWQ9MTY4NjUmb3A9Y2xpY2sKPgo+CgoKLS0K Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogfEJ5IEFsZXhl IChodHRwOi8vd3d3LmFsZXhlLmNuKXwKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKwo= |