Concatenation of files
am 17.04.2009 10:31:27 von zilore mumba
CkRlYXIgUGVybCBDb21tdW5pdHksCkJhc2VkIG9uIHRoZSB2ZXJ5IGNvbnN0 cnVjdGl2ZSBjb21t
ZW50cyBJIHJlY2VpdmVkIGZyb20gbWFueSwgYW5kIG9uIHRoZSBzY3JpcHQg cHJvdmlkZWQgYnkg
QmlsbCBJIGhhdmUgbW9kaWZpZWQgbXkgc2NyaXB0IGFzIGJlbG93LiBUaGlz IHRpbWUgSSBjcmVh
dGUgb25seSBvbmUgKGRhdGUpIGRpcmVjdG9yeSBhbmQgbW92ZSBhbGwgZmls ZXMgKGluIGN1cnJl
bnQgZGlyZWN0b3J5KXRoZXJlIGFuZCBjb25jYXRlbmF0ZSB0aGVtLiBJIGFt IGdldHRpbmcgYW4g
ZXJyb3IgaW4gY3JlYXRpb24gb2YgZHRhZSBkaXJlY3RvcnkgYW5kIGNhbm5v dCBmaWd1cmUgb3V0
IHRoZSBzb3VyY2Ugb2YgZXJyb3IuIEkgaGF2ZSBpbmRpY2F0ZWQgYnkgIyMj IHdoZXJlIHRoZSBl
cnJvciBvY2N1cnMuCkhlbHAgYXBwcmVjaWF0ZWQKR29vZCBkYXkKWmlsb3Jl CgojIS91c3IvYmlu
L3BlcmwgLS0KdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwp1c2UgUE9TSVg7 CnVzZSBGaWxlOjpQ
YXRoOwp1c2UgRmlsZTo6Q29weTsKbXkgJGRlYnVnID0gMTsKbXkgQG5vdyA9 IGxvY2FsdGltZTsK
bXkgKCRkYXksICRtb24sICR5ZWFyKSA9IChsb2NhbHRpbWUgKHRpbWUgLSA4 NjQwMCkpWzMsNCw1
XTsKJHllYXIgPSAkeWVhciArIDE5MDA7CiRtb24gPSAkbW9uICsgMTsKbXkg JGRhdDAgPSBzcHJp
bnRmICgiJTA0ZCUwMmQlMDJkXG4iLCAkeWVhciwgJG1vbiwgJGRheSk7Cm15 ICRleHQgPSAnLnR4
dCc7Cm15ICRvdXRfZmlsZSA9ICIkZGF0MCRleHQiOwpwcmludCAib3V0X2Zp bGU9JyRvdXRfZmls
ZSdcbiIgaWYgJGRlYnVnOwrCoAojIENyZWF0ZSBhIGRpcmVjdG9yeSBjYWxs ZWQgYnkgeWVzdGVy
ZGF5J3MgZGF0ZSBpZiBub3QgdGhlcmUKaWYgKCAhIC1kICRkYXQwICkgeyAg ICAgICAgICAgICAg
ICAjIyMgRXJyb3IgaGVyZQrCoMKgwqAgcHJpbnQgIm1rcGF0aCAkZGF0MFxu IiBpZiAkZGVidWc7
CsKgwqDCoCBta3BhdGggKCRkYXQwKSBvciBkaWUgIm1rcGF0aCAnJGRhdDAn IGZhaWxlZDogJCEg
KCReRSkiOyAjIyMg4oKscnJvciBoZXJlCn0KIyBNb3ZlIGFsbCBmaWxlcyB0 byBkYXRlX2RpcmVj
dG9yeQpvcGVuZGlyIERJUiwgJy4nIG9yIGRpZSAib3BlbmRpciAnLic6ICQh ICgkXkUpIjsKd2hp
bGUgKCRfID0gcmVhZGRpciBESVIpIHsKwqDCoMKgIG5leHQgaWYgLWQgJF87 CsKgwqDCoCBwcmlu
dCAicmVuYW1lICRfLCAnJGRhdDAvJF8nXG4iOwrCoMKgwqAgcmVuYW1lICRf LCAiJGRhdDAvJF8i
IG9yIHdhcm4gInJlbmFtZSAnJGRhdDAvJF8nOiAkISAoJF5FKSI7Cn0KY2xv c2VkaXIgRElSOwoj
IG9wZW4gb3V0cHV0IGZpbGUgLSBpbiBkYXQwCnByaW50ICJDcmVhdGluZyBv dXRwdXQgZmlsZSAn
JG91dF9maWxlJ1xuIiBpZiAkZGVidWc7Cm9wZW4gT1VULCAiPj4kZGF0MC8k b3V0X2ZpbGUiIG9y
IGRpZSAiQ3JlYXRlICckb3V0X2ZpbGU6IGZhaWxlZCAkISAoJF5FKSI7Cm9w ZW5kaXIgRElSLCAk
ZGF0MCBvciBkaWUgIm9wZW5kaXIgJyRkYXQwJzogJCEgKCReRSkiOwp3aGls ZSAoJF8gPSByZWFk
ZGlyIERJUikgewrCoMKgwqAgbmV4dCBpZiAtZCAkXzsgbmV4dCBpZiAvXiRv dXRfZmlsZSQvaTsK
wqDCoMKgIHByaW50ICJBZGRpbmcgJyRfJ1xuIiBpZiAkZGVidWc7CsKgwqDC oCBvcGVuIElOLCAi
JGRhdDAvJF8iIG9yIHdhcm4gIm9wZW4gJyRkYXQwLyRfJzogJCEgKCReRSki OwrCoMKgwqAgd2hp
bGUgKDxJTj4pIHsKwqDCoMKgwqDCoMKgwqAgcHJpbnQgT1VUOwrCoMKgwqAg fQrCoMKgwqAgY2xv
c2UgSU47Cn0KY2xvc2VkaXIgRElSOwpjbG9zZSBPVVQ7Cl9fRU5EX18KCgoK CiAgICAgIApfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB Y3RpdmVQZXJsIG1h
aWxpbmcgbGlzdApBY3RpdmVQZXJsQGxpc3RzZXJ2LkFjdGl2ZVN0YXRlLmNv bQpUbyB1bnN1YnNj
cmliZTogaHR0cDovL2xpc3RzZXJ2LkFjdGl2ZVN0YXRlLmNvbS9tYWlsbWFu L215c3Vicw==
RE: Concatenation of files
am 17.04.2009 10:56:48 von Justin Allegakoen
PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206IGFjdGl2ZXBl cmwtYm91bmNlc0Bs
aXN0c2Vydi5BY3RpdmVTdGF0ZS5jb20gW21haWx0bzphY3RpdmVwZXJsLQo+ IGJvdW5jZXNAbGlz
dHNlcnYuQWN0aXZlU3RhdGUuY29tXSBPbiBCZWhhbGYgT2Ygemlsb3JlIG11 bWJhCj4gU2VudDog
RnJpZGF5LCAxNyBBcHJpbCAyMDA5IDQ6MzEgUE0KPiBUbzogYWN0aXZlcGVy bEBsaXN0c2Vydi5h
Y3RpdmVzdGF0ZS5jb20KPiBTdWJqZWN0OiBDb25jYXRlbmF0aW9uIG9mIGZp bGVzCj4gCj4gCj4g
RGVhciBQZXJsIENvbW11bml0eSwKPiBCYXNlZCBvbiB0aGUgdmVyeSBjb25z dHJ1Y3RpdmUgY29t
bWVudHMgSSByZWNlaXZlZCBmcm9tIG1hbnksIGFuZCBvbgo+IHRoZSBzY3Jp cHQgcHJvdmlkZWQg
YnkgQmlsbCBJIGhhdmUgbW9kaWZpZWQgbXkgc2NyaXB0IGFzIGJlbG93LiBU aGlzCj4gdGltZSBJ
IGNyZWF0ZSBvbmx5IG9uZSAoZGF0ZSkgZGlyZWN0b3J5IGFuZCBtb3ZlIGFs bCBmaWxlcyAoaW4g
Y3VycmVudAo+IGRpcmVjdG9yeSl0aGVyZSBhbmQgY29uY2F0ZW5hdGUgdGhl bS4gSSBhbSBnZXR0
aW5nIGFuIGVycm9yIGluIGNyZWF0aW9uCj4gb2YgZHRhZSBkaXJlY3Rvcnkg YW5kIGNhbm5vdCBm
aWd1cmUgb3V0IHRoZSBzb3VyY2Ugb2YgZXJyb3IuIEkgaGF2ZQo+IGluZGlj YXRlZCBieSAjIyMg
d2hlcmUgdGhlIGVycm9yIG9jY3Vycy4KPiBIZWxwIGFwcHJlY2lhdGVkCj4g R29vZCBkYXkKPiBa
aWxvcmUKPiAKPiAjIS91c3IvYmluL3BlcmwgLS0KPiB1c2Ugc3RyaWN0Owo+ IHVzZSB3YXJuaW5n
czsKPiB1c2UgUE9TSVg7Cj4gdXNlIEZpbGU6OlBhdGg7Cj4gdXNlIEZpbGU6 OkNvcHk7Cj4gbXkg
JGRlYnVnID0gMTsKPiBteSBAbm93ID0gbG9jYWx0aW1lOwo+IG15ICgkZGF5 LCAkbW9uLCAkeWVh
cikgPSAobG9jYWx0aW1lICh0aW1lIC0gODY0MDApKVszLDQsNV07Cj4gJHll YXIgPSAkeWVhciAr
IDE5MDA7Cj4gJG1vbiA9ICRtb24gKyAxOwo+IG15ICRkYXQwID0gc3ByaW50 ZiAoIiUwNGQlMDJk
JTAyZFxuIiwgJHllYXIsICRtb24sICRkYXkpOwo+IG15ICRleHQgPSAnLnR4 dCc7Cj4gbXkgJG91
dF9maWxlID0gIiRkYXQwJGV4dCI7Cj4gcHJpbnQgIm91dF9maWxlPSckb3V0 X2ZpbGUnXG4iIGlm
ICRkZWJ1ZzsKPiAKPiAjIENyZWF0ZSBhIGRpcmVjdG9yeSBjYWxsZWQgYnkg eWVzdGVyZGF5J3Mg
ZGF0ZSBpZiBub3QgdGhlcmUKPiBpZiAoICEgLWQgJGRhdDAgKSB7ICAgICAg ICAgICAgICAgICMj
IyBFcnJvciBoZXJlCj4gICAgIHByaW50ICJta3BhdGggJGRhdDBcbiIgaWYg JGRlYnVnOwo+ICAg
ICBta3BhdGggKCRkYXQwKSBvciBkaWUgIm1rcGF0aCAnJGRhdDAnIGZhaWxl ZDogJCEgKCReRSki
OyAjIyMg4oKscnJvcgo+IGhlcmUKPiB9Cj4gIyBNb3ZlIGFsbCBmaWxlcyB0 byBkYXRlX2RpcmVj
dG9yeQo+IG9wZW5kaXIgRElSLCAnLicgb3IgZGllICJvcGVuZGlyICcuJzog JCEgKCReRSkiOwo+
IHdoaWxlICgkXyA9IHJlYWRkaXIgRElSKSB7Cj4gICAgIG5leHQgaWYgLWQg JF87Cj4gICAgIHBy
aW50ICJyZW5hbWUgJF8sICckZGF0MC8kXydcbiI7Cj4gICAgIHJlbmFtZSAk XywgIiRkYXQwLyRf
IiBvciB3YXJuICJyZW5hbWUgJyRkYXQwLyRfJzogJCEgKCReRSkiOwo+IH0K PiBjbG9zZWRpciBE
SVI7Cj4gIyBvcGVuIG91dHB1dCBmaWxlIC0gaW4gZGF0MAo+IHByaW50ICJD cmVhdGluZyBvdXRw
dXQgZmlsZSAnJG91dF9maWxlJ1xuIiBpZiAkZGVidWc7Cj4gb3BlbiBPVVQs ICI+PiRkYXQwLyRv
dXRfZmlsZSIgb3IgZGllICJDcmVhdGUgJyRvdXRfZmlsZTogZmFpbGVkICQh Cj4gKCReRSkiOwo+
IG9wZW5kaXIgRElSLCAkZGF0MCBvciBkaWUgIm9wZW5kaXIgJyRkYXQwJzog JCEgKCReRSkiOwo+
IHdoaWxlICgkXyA9IHJlYWRkaXIgRElSKSB7Cj4gICAgIG5leHQgaWYgLWQg JF87IG5leHQgaWYg
L14kb3V0X2ZpbGUkL2k7Cj4gICAgIHByaW50ICJBZGRpbmcgJyRfJ1xuIiBp ZiAkZGVidWc7Cj4g
ICAgIG9wZW4gSU4sICIkZGF0MC8kXyIgb3Igd2FybiAib3BlbiAnJGRhdDAv JF8nOiAkISAoJF5F
KSI7Cj4gICAgIHdoaWxlICg8SU4+KSB7Cj4gICAgICAgICBwcmludCBPVVQ7 Cj4gICAgIH0KPiAg
ICAgY2xvc2UgSU47Cj4gfQo+IGNsb3NlZGlyIERJUjsKPiBjbG9zZSBPVVQ7 Cj4gX19FTkRfXwo+
IAoKTG9va3MgbGlrZSBpdCdzIHRvIGRvIHdpdGggdGhlIFxuIGluIHlvdXIg c3ByaW50ZiAtIHRh
a2UgaXQgb3V0IGxpa2Ugc286LQoKbXkgJGRhdDAgPSBzcHJpbnRmICgiJTA0 ZCUwMmQlMDJkIiwg
JHllYXIsICRtb24sICRkYXkpOwoKWW91J3ZlIGdvdCAkZGVidWcgZW5hYmxl ZCB5ZXQgSSdtIG5v
dCBzdXJlIHdoeSB5b3UgY2FuJ3QgcGljayB1cCB0aGF0IHNwZWNpYWwgY2hh cnMgaW4gYSBmaWxl
IG5hbWUgYXJlIHVuYWNjZXB0YWJsZTotCgpvdXRfZmlsZT0nMjAwOTA0MTYK LnR4dCcKCkFzIGEg
YmVnaW5uZXIgSSdkIHJlY29tbWVuZCB0aGF0IHlvdSBhZGQgYSBmZXcgbGlu ZXMgb2YgY29kZSBh
dCBhIHRpbWUgYW5kIHRoZW4gdGVzdCBpdCBzdHJhaWdodCBhd2F5LiBDYXJl ZnVsbHkgbG9va2lu
ZyBhdCB0aGUgb3V0cHV0LgoKQmVlbiBhIGxvbmcgZGF5IGhhcyBpdD8KCkkg ZGlkbuKAmXQgY2hl
Y2sgdGhlIHJlc3Qgb2YgdGhlIGNvZGUsIGJ1dCBJIGFzc3VtZSB0aGUgcmVt b3ZhbCBvZiBcbiB3
aWxsIGJlIGVub3VnaC4KCkp1c3QgaW4KCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBY3RpdmVQZXJsIG1haWxpbmcgbGlzdApBY3Rp dmVQZXJsQGxpc3Rz
ZXJ2LkFjdGl2ZVN0YXRlLmNvbQpUbyB1bnN1YnNjcmliZTogaHR0cDovL2xp c3RzZXJ2LkFjdGl2
ZVN0YXRlLmNvbS9tYWlsbWFuL215c3Vicw==
RE: Concatenation of files
am 17.04.2009 17:04:05 von zilore mumba
Ckp1c3RpbiwKVGhhbmsgeW91IHZlcnkgbXVjaCwgdGhlIFxuIGluIHNwcmlu dGYgd2FzIHByZWNp
c2VseSB0aGUgZXJyb3IuIE5vdyB0aGUgc2NyaXB0IGRvZXMgYXMgcmVxdWly ZWQuIEluY2lkZW50
YWxseSBhbSBtb3JlIG5vdmljZSB0byBQZXJsIHRoYW4geW91LiBJIGhhdmUg b25seSByZWFkIFBl
cmwgaW4gdHV0b3JpYWxzIGFuZCBwcmFjdGlzaW5nIGl0IGlzIG5vdCBlYXN5 LCBJIGhhdmUgbGVh
cm50IGEgbG90IHRocm91Z2ggdGhpcyBmb3J1bS4KVHdvIG1pbm9yIHBvaW50 cyB0aG91Z2g6CjEu
aW4gbW92aW5nIHRoZSBmaWxlcywgdGhlIHNjcmlwdCB0cmllcyB0byBtb3Zl IGl0c2VsZiB0byB0
aGUgZGF0ZSBkaXJlY3RvcnkgYnV0IGZhaWxzIHNheWluZyB0aGUgZmlsZSBp cyBpbiB1c2UuCjIu
QXQgdGhlIGVuZCBvZiB0aGUgcHJvY2VzcywgSSB3b3VsZCBsaWtlIHRvIGRl bGV0ZSB0aGUgaW5k
aXZpZHVhbCBmaWxlcy4gVGhlIHBhcnQgb2YgdGhlIGNvZGUgYmVsb3cgZG9l cyBub3QgZG8gdGhp
cywgc2F5aW5nICJubyBzdWNoIHBhdGggb3IgZGlyZWN0b3J5Ii4KVGhhbmtz CiAKb3BlbmRpciBE
SVIsICRkYXQwIG9yIGRpZSAib3BlbmRpciAkZGF0MDogJCEgKCReRSkiOwp3 aGlsZSAoJF8gPSBy
ZWFkZGlyIERJUikgewogICAgbmV4dCBpZiAtZCAkXzsKICAgIHByaW50ICJ1 bmxpbmsgJF8iOwog
ICAgdW5saW5rICRfLCBvciB3YXJuICJ1bmxpbmsgJF8nIGZhaWxlZDogJCEg KCReRSkiOwp9CmNs
b3NlZGlyIERJUjsKCgoKCi0tLSBPbiBGcmksIDQvMTcvMDksIEp1c3RpbiBB bGxlZ2Frb2VuIDxq
dXN0aW4uYWxsZWdha29lbkBtYXB0ZWsuY29tLmF1PiB3cm90ZToKCj4gRnJv bTogSnVzdGluIEFs
bGVnYWtvZW4gPGp1c3Rpbi5hbGxlZ2Frb2VuQG1hcHRlay5jb20uYXU+Cj4g U3ViamVjdDogUkU6
IENvbmNhdGVuYXRpb24gb2YgZmlsZXMKPiBUbzogYWN0aXZlcGVybEBsaXN0 c2Vydi5hY3RpdmVz
dGF0ZS5jb20KPiBEYXRlOiBGcmlkYXksIEFwcmlsIDE3LCAyMDA5LCAxMTo1 NiBBTQo+ID4gLS0t
LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+IEZyb206IGFjdGl2ZXBlcmwt Ym91bmNlc0BsaXN0
c2Vydi5BY3RpdmVTdGF0ZS5jb20KPiBbbWFpbHRvOmFjdGl2ZXBlcmwtCj4g PiBib3VuY2VzQGxp
c3RzZXJ2LkFjdGl2ZVN0YXRlLmNvbV0gT24gQmVoYWxmIE9mIHppbG9yZQo+ IG11bWJhCj4gPiBT
ZW50OiBGcmlkYXksIDE3IEFwcmlsIDIwMDkgNDozMSBQTQo+ID4gVG86IGFj dGl2ZXBlcmxAbGlz
dHNlcnYuYWN0aXZlc3RhdGUuY29tCj4gPiBTdWJqZWN0OiBDb25jYXRlbmF0 aW9uIG9mIGZpbGVz
Cj4gPiAKPiA+IAo+ID4gRGVhciBQZXJsIENvbW11bml0eSwKPiA+IEJhc2Vk IG9uIHRoZSB2ZXJ5
IGNvbnN0cnVjdGl2ZSBjb21tZW50cyBJIHJlY2VpdmVkCj4gZnJvbSBtYW55 LCBhbmQgb24KPiA+
IHRoZSBzY3JpcHQgcHJvdmlkZWQgYnkgQmlsbCBJIGhhdmUgbW9kaWZpZWQg bXkgc2NyaXB0Cj4g
YXMgYmVsb3cuIFRoaXMKPiA+IHRpbWUgSSBjcmVhdGUgb25seSBvbmUgKGRh dGUpIGRpcmVjdG9y
eSBhbmQgbW92ZSBhbGwKPiBmaWxlcyAoaW4gY3VycmVudAo+ID4gZGlyZWN0 b3J5KXRoZXJlIGFu
ZCBjb25jYXRlbmF0ZSB0aGVtLiBJIGFtIGdldHRpbmcgYW4KPiBlcnJvciBp biBjcmVhdGlvbgo+
ID4gb2YgZHRhZSBkaXJlY3RvcnkgYW5kIGNhbm5vdCBmaWd1cmUgb3V0IHRo ZSBzb3VyY2Ugb2YK
PiBlcnJvci4gSSBoYXZlCj4gPiBpbmRpY2F0ZWQgYnkgIyMjIHdoZXJlIHRo ZSBlcnJvciBvY2N1
cnMuCj4gPiBIZWxwIGFwcHJlY2lhdGVkCj4gPiBHb29kIGRheQo+ID4gWmls b3JlCj4gPiAKPiA+
ICMhL3Vzci9iaW4vcGVybCAtLQo+ID4gdXNlIHN0cmljdDsKPiA+IHVzZSB3 YXJuaW5nczsKPiA+
IHVzZSBQT1NJWDsKPiA+IHVzZSBGaWxlOjpQYXRoOwo+ID4gdXNlIEZpbGU6 OkNvcHk7Cj4gPiBt
eSAkZGVidWcgPSAxOwo+ID4gbXkgQG5vdyA9IGxvY2FsdGltZTsKPiA+IG15 ICgkZGF5LCAkbW9u
LCAkeWVhcikgPSAobG9jYWx0aW1lICh0aW1lIC0KPiA4NjQwMCkpWzMsNCw1 XTsKPiA+ICR5ZWFy
ID0gJHllYXIgKyAxOTAwOwo+ID4gJG1vbiA9ICRtb24gKyAxOwo+ID4gbXkg JGRhdDAgPSBzcHJp
bnRmICgiJTA0ZCUwMmQlMDJkXG4iLAo+ICR5ZWFyLCAkbW9uLCAkZGF5KTsK PiA+IG15ICRleHQg
PSAnLnR4dCc7Cj4gPiBteSAkb3V0X2ZpbGUgPSAiJGRhdDAkZXh0IjsKPiA+ IHByaW50ICJvdXRf
ZmlsZT0nJG91dF9maWxlJ1xuIgo+IGlmICRkZWJ1ZzsKPiA+IAo+ID4gIyBD cmVhdGUgYSBkaXJl
Y3RvcnkgY2FsbGVkIGJ5IHllc3RlcmRheSdzIGRhdGUgaWYKPiBub3QgdGhl cmUKPiA+IGlmICgg
ISAtZCAkZGF0MCApIHsgICAgICAgICAgICAgICAgIyMjIEVycm9yIGhlcmUK PiA+ICAgICBwcmlu
dCAibWtwYXRoICRkYXQwXG4iIGlmICRkZWJ1ZzsKPiA+ICAgICBta3BhdGgg KCRkYXQwKSBvciBk
aWUgIm1rcGF0aCAnJGRhdDAnCj4gZmFpbGVkOiAkISAoJF5FKSI7ICMjIyDi gqxycm9yCj4gPiBo
ZXJlCj4gPiB9Cj4gPiAjIE1vdmUgYWxsIGZpbGVzIHRvIGRhdGVfZGlyZWN0 b3J5Cj4gPiBvcGVu
ZGlyIERJUiwgJy4nIG9yIGRpZSAib3BlbmRpcgo+ICcuJzogJCEgKCReRSki Owo+ID4gd2hpbGUg
KCRfID0gcmVhZGRpciBESVIpIHsKPiA+ICAgICBuZXh0IGlmIC1kICRfOwo+ ID4gICAgIHByaW50
ICJyZW5hbWUgJF8sCj4gJyRkYXQwLyRfJ1xuIjsKPiA+ICAgICByZW5hbWUg JF8sICIkZGF0MC8k
XyIgb3Igd2Fybgo+ICJyZW5hbWUgJyRkYXQwLyRfJzogJCEgKCReRSkiOwo+ ID4gfQo+ID4gY2xv
c2VkaXIgRElSOwo+ID4gIyBvcGVuIG91dHB1dCBmaWxlIC0gaW4gZGF0MAo+ ID4gcHJpbnQgIkNy
ZWF0aW5nIG91dHB1dCBmaWxlCj4gJyRvdXRfZmlsZSdcbiIgaWYgJGRlYnVn Owo+ID4gb3BlbiBP
VVQsICI+PiRkYXQwLyRvdXRfZmlsZSIgb3IgZGllCj4gIkNyZWF0ZSAnJG91 dF9maWxlOiBmYWls
ZWQgJCEKPiA+ICgkXkUpIjsKPiA+IG9wZW5kaXIgRElSLCAkZGF0MCBvciBk aWUgIm9wZW5kaXIK
PiAnJGRhdDAnOiAkISAoJF5FKSI7Cj4gPiB3aGlsZSAoJF8gPSByZWFkZGly IERJUikgewo+ID4g
ICAgIG5leHQgaWYgLWQgJF87IG5leHQgaWYgL14kb3V0X2ZpbGUkL2k7Cj4g PiAgICAgcHJpbnQg
IkFkZGluZyAnJF8nXG4iIGlmCj4gJGRlYnVnOwo+ID4gICAgIG9wZW4gSU4s ICIkZGF0MC8kXyIg
b3Igd2FybiAib3Blbgo+ICckZGF0MC8kXyc6ICQhICgkXkUpIjsKPiA+ICAg ICB3aGlsZSAoPElO
Pikgewo+ID4gICAgICAgICBwcmludCBPVVQ7Cj4gPiAgICAgfQo+ID4gICAg IGNsb3NlIElOOwo+
ID4gfQo+ID4gY2xvc2VkaXIgRElSOwo+ID4gY2xvc2UgT1VUOwo+ID4gX19F TkRfXwo+ID4gCj4g
Cj4gTG9va3MgbGlrZSBpdCdzIHRvIGRvIHdpdGggdGhlIFxuIGluIHlvdXIg c3ByaW50ZiAtCj4g
dGFrZSBpdCBvdXQgbGlrZSBzbzotCj4gCj4gbXkgJGRhdDAgPSBzcHJpbnRm ICgiJTA0ZCUwMmQl
MDJkIiwgJHllYXIsICRtb24sCj4gJGRheSk7Cj4gCj4gWW91J3ZlIGdvdCAk ZGVidWcgZW5hYmxl
ZCB5ZXQgSSdtIG5vdCBzdXJlIHdoeSB5b3UKPiBjYW4ndCBwaWNrIHVwIHRo YXQgc3BlY2lhbCBj
aGFycyBpbiBhIGZpbGUgbmFtZSBhcmUKPiB1bmFjY2VwdGFibGU6LQo+IAo+ IG91dF9maWxlPScy
MDA5MDQxNgo+IC50eHQnCj4gCj4gQXMgYSBiZWdpbm5lciBJJ2QgcmVjb21t ZW5kIHRoYXQgeW91
IGFkZCBhIGZldyBsaW5lcyBvZgo+IGNvZGUgYXQgYSB0aW1lIGFuZCB0aGVu IHRlc3QgaXQgc3Ry
YWlnaHQgYXdheS4gQ2FyZWZ1bGx5Cj4gbG9va2luZyBhdCB0aGUgb3V0cHV0 Lgo+IAo+IEJlZW4g
YSBsb25nIGRheSBoYXMgaXQ/Cj4gCj4gSSBkaWRu4oCZdCBjaGVjayB0aGUg cmVzdCBvZiB0aGUg
Y29kZSwgYnV0IEkgYXNzdW1lIHRoZQo+IHJlbW92YWwgb2YgXG4gd2lsbCBi ZSBlbm91Z2guCj4g
Cj4gSnVzdCBpbgo+IAo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19f
X19fX19fX19fCj4gQWN0aXZlUGVybCBtYWlsaW5nIGxpc3QKPiBBY3RpdmVQ ZXJsQGxpc3RzZXJ2
LkFjdGl2ZVN0YXRlLmNvbQo+IFRvIHVuc3Vic2NyaWJlOgo+IGh0dHA6Ly9s aXN0c2Vydi5BY3Rp
dmVTdGF0ZS5jb20vbWFpbG1hbi9teXN1YnMKCgogICAgICAKX19fX19fX19f X19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KQWN0aXZlUGVybCBtYWlsaW5n IGxpc3QKQWN0aXZl
UGVybEBsaXN0c2Vydi5BY3RpdmVTdGF0ZS5jb20KVG8gdW5zdWJzY3JpYmU6 IGh0dHA6Ly9saXN0
c2Vydi5BY3RpdmVTdGF0ZS5jb20vbWFpbG1hbi9teXN1YnM=
RE: Concatenation of files
am 17.04.2009 18:46:06 von Andy_Bach
This is a multipart message in MIME format.
--===============1310837680==
Content-Type: multipart/alternative;
boundary="=_alternative 005BE41A8625759B_="
This is a multipart message in MIME format.
--=_alternative 005BE41A8625759B_=
Content-Type: text/plain; charset="US-ASCII"
> The part of the code below does not do this, saying "no such path or
directory".
Thanks
opendir DIR, $dat0 or die "opendir $dat0: $! ($^E)";
while ($_ = readdir DIR) {
next if -d $_;
print "unlink $_";
unlink $_, or warn "unlink $_' failed: $! ($^E)";
}
closedir DIR;
Rember, readdir does not prepend teh dir path to the file name:
The part of the code below does not do this, saying "no such path or
directory".
Thanks
opendir DIR, $dat0 or die "opendir $dat0: $! ($^E)";
while ($_ = readdir DIR) {
my $file = $dat0 . '/' . $_;
next if -d $file;
print "unlink $file";
unlink $file, or warn "unlink $file' failed: $! ($^E)";
}
closedir DIR;
It's a little unusual to use $_ that much - in general, 'magic vars' (like
$_ and the match vars $1, $2 etc) should be moved to a named var if you're
going to use them more than once or twice. It makes the code more readable
and you're less likely to fool yourself.
a
-------------------
Andy Bach
Systems Mangler
Internet: andy_bach@wiwb.uscourts.gov
Voice: (608) 261-5738; Cell: (608) 658-1890
Truth is eternal, knowledge is changeable.
It is disastrous to confuse them.
-- Madeleine L'Engle
--=_alternative 005BE41A8625759B_=
Content-Type: text/html; charset="US-ASCII"
> The
part of the code below does not do this, saying "no such path or directory".
Thanks
opendir DIR, $dat0 or die "opendir $dat0: $! ($^E)";
while ($_ = readdir DIR) {
next if -d $_;
print "unlink $_";
unlink $_, or warn "unlink $_' failed: $! ($^E)";
}
closedir DIR;
Rember, readdir does not prepend teh dir path to the
file name:
The part of the code below does not do this,
saying "no such path or directory".
Thanks
opendir DIR, $dat0 or die "opendir $dat0: $! ($^E)";
while ($_ = readdir DIR) {
my $file = $dat0 . '/' . $_;
next if -d $file;
print "unlink $file";
unlink $file, or warn "unlink $file' failed: $! ($^E)";
}
closedir DIR;
It's a little unusual to use $_ that much - in general,
'magic vars' (like $_ and the match vars $1, $2 etc) should be moved to
a named var if you're going to use them more than once or twice. It makes
the code more readable and you're less likely to fool yourself.
a
-------------------
Andy Bach
Systems Mangler
Internet: andy_bach@wiwb.uscourts.gov
Voice: (608) 261-5738; Cell: (608) 658-1890
Truth is eternal, knowledge is changeable.
It is disastrous to confuse them.
-- Madeleine L'Engle
--=_alternative 005BE41A8625759B_=--
--===============1310837680==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
--===============1310837680==--
Re: Concatenation of files
am 18.04.2009 03:23:07 von Justin Allegakoen
2009/4/17 zilore mumba
>
> Justin,
> Thank you very much, the \n in sprintf was precisely the error. Now the s=
cript does as required. Incidentally am more novice to Perl than you. I hav=
e only read Perl in tutorials and practising it is not easy, I have learnt =
a lot through this forum.
> Two minor points though:
> 1.in moving the files, the script tries to move itself to the date direct=
ory but fails saying the file is in use.
Its poor practise to keep your code in the same directory as your
data. I suggest you create a folder in C:\Perl called Programs and
then put your code in there.
> 2.At the end of the process, I would like to delete the individual files.=
The part of the code below does not do this, saying "no such path or direc=
tory".
> Thanks
>
> opendir DIR, $dat0 or die "opendir $dat0: $! ($^E)";
> while ($_ =3D readdir DIR) {
> =A0 =A0next if -d $_;
> =A0 =A0print "unlink $_";
> =A0 =A0unlink $_, or warn "unlink $_' failed: $! ($^E)";
> }
> closedir DIR;
My point in my last email - did you check carefully what the output of
print was?
I've modified your code so as to use glob rather than opendirs and
readdirs. It also cuts down on the use of $_ - refer to Andy's e-mail.
With the below change $top_dir and $from_dir as needed . . .
use strict;
use warnings;
use POSIX;
use File::Path;
use File::Copy;
# Variable declaration
my $top_dir =3D 'C:/Weather'; # This is the top level dir where all your
date dirs are stored
my $from_dir =3D 'C:/Temp'; # This is the directory that stores your
weather reports as soon as they are created
my $debug =3D 1;
my ($day, $mon, $year) =3D ( localtime( time - 86400 ) )[ 3, 4, 5 ];
my $dat0 =3D sprintf ("%04d%02d%02d", $year + 1900, ++$mon, $day);
my $out_file =3D "$top_dir/$dat0/$dat0.txt";
$dat0 =3D "$top_dir/$dat0";
print "out_file=3D'$out_file'\n" if $debug;
# Create a directory called by yesterday's date if not there
if ( ! -d $dat0 )
{
print "mkpath $dat0\n" if $debug;
mkpath($dat0) or die "mkpath '$dat0' failed: $! ($^E)";
}
# Move all files to date_directory
foreach my $name ( glob "$from_dir/*" )
{
next if -d $name;
print "move($name, $dat0)\n";
move( $name, $dat0 ) or warn "move failed on $name to $dat0/$name:
$! ($^E)";
}
# open output file - in dat0
print "Appending output file '$out_file'\n" if $debug;
open my $OUT, '>>', $out_file or die "Append to '$out_file' failed:- $! ($^=
E)";
foreach my $name ( glob "$dat0/*" )
{
next if -d $name;
next if $name =3D~ /^$out_file$/i;
print "Adding '$name'\n" if $debug;
open my $IN, '<', $name or warn "Read failed on '$name': $! ($^E)";
while ( <$IN> )
{
print $OUT $_;
}
close $IN;
}
close $OUT;
# Just in
_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
Re: Concatenation of files
am 18.04.2009 04:06:27 von Bill Luebkert
Justin Allegakoen wrote:
>
> Its poor practise to keep your code in the same directory as your
> data. I suggest you create a folder in C:\Perl called Programs and
> then put your code in there.
Or vice versa - you don't normally put your data where your scripts
reside - but that's not *always* true either. Sometimes you want
everything to do with a certain procedure to reside in the same place.
But that's just druthers if you catch my drift.
> I've modified your code so as to use glob rather than opendirs and
> readdirs. It also cuts down on the use of $_ - refer to Andy's e-mail.
I personally never use glob (I have an aversion to it) and he doesn't
*have* to use $_, he can always use $file or some such. The problem
with glob is it operates differently on different OSs and is more obtuse
just to save two lines of code that were totally self explanatory.
opendir/readdir always do the same thing - regardless of OS. I try
to avoid anything that is shell oriented for portability reasons - I
know portability isn't always an issue, but it can't hurt - someone
can always adapt it to another OS if need be. In the case of '*',
that's not much of a issue as a glob.
If you're going to suggest that something is better or worse, there
should be overwhelming evidence to back it up rather than just a
preference. Otherwise, you should work in the framework that's
already present - and you know in Perl, TIMTOWTDI.
JMO
_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
Re: Concatenation of files
am 18.04.2009 06:11:41 von Justin Allegakoen
2009/4/18 Bill Luebkert :
> Justin Allegakoen wrote:
>>
>> Its poor practise to keep your code in the same directory as your
>> data. I suggest you create a folder in C:\Perl called Programs and
>> then put your code in there.
>
> Or vice versa - you don't normally put your data where your scripts
> reside - but that's not *always* true either. =A0Sometimes you want
> everything to do with a certain procedure to reside in the same place.
> But that's just druthers if you catch my drift.
>
>> I've modified your code so as to use glob rather than opendirs and
>> readdirs. It also cuts down on the use of $_ - refer to Andy's e-mail.
>
> I personally never use glob (I have an aversion to it) and he doesn't
> *have* to use $_, he can always use $file or some such. =A0The problem
> with glob is it operates differently on different OSs and is more obtuse
> just to save two lines of code that were totally self explanatory.
> opendir/readdir always do the same thing - regardless of OS. =A0I try
> to avoid anything that is shell oriented for portability reasons - I
> know portability isn't always an issue, but it can't hurt - someone
> can always adapt it to another OS if need be. =A0In the case of '*',
> that's not much of a issue as a glob.
>
> If you're going to suggest that something is better or worse, there
> should be overwhelming evidence to back it up rather than just a
> preference. =A0Otherwise, you should work in the framework that's
> already present - and you know in Perl, TIMTOWTDI.
>
> JMO
I was feeling kind of adverse to modifying zilore's code since he had
mentioned your name without the $ in a previous post.
Then it turned into he's obviously doing something useful and
struggling with it so here's my 5 minutes worth.
TIMTOWDI check. preference check. worse check. Feeling sorry check.
Using opendir check:
use strict;
use warnings;
use POSIX;
use File::Path;
use File::Copy;
# Variable declaration
my $debug =3D 1;
my $from_dir =3D "C:/Temp";
my $top_dir =3D "C:/Weather";
my ($day, $mon, $year) =3D ( localtime(time - 86400) )[ 3, 4, 5 ];
my $dat0 =3D sprintf( "%04d%02d%02d", $year + 1900, ++$mon, $day );
my $out_file =3D "$top_dir/$dat0/$dat0.txt";
print "out_file=3D'$out_file'\n" if $debug;
$dat0 =3D "$top_dir/$dat0";
# Create a directory called by yesterday's date if not there
if ( ! -d $dat0 )
{
print "mkpath $dat0\n" if $debug;
mkpath( $dat0 ) or die "mkpath '$dat0' failed: $! ($^E)";
}
# Move all files to date_directory
opendir my $DIR, $from_dir or die "opendir failed on $from_dir: $! ($^E)";
while ( my $item =3D readdir $DIR )
{
next if -d $item;
print "move( '$from_dir/$item', '$dat0/$item')\n";
move( "$from_dir/$item", $dat0) or warn "move from $from_dir/$item
to $dat0 failed: $! ($^E)";
}
closedir $DIR;
# open output file - in dat0
print "Creating output file '$out_file'\n" if $debug;
open my $OUT, '>>', $out_file or die "Append to '$out_file: failed $! ($^E)=
";
opendir $DIR, $dat0 or die "opendir on $dat0 failed: $! ($^E)";
while ( my $item =3D readdir $DIR )
{
next if -d "$dat0/$item";
next if "$dat0/$item" =3D~ /^$out_file$/io;
print "Adding '$dat0/$item'\n" if $debug;
open my $IN, '<', "$dat0/$item" or warn "open on '$dat0/$item'
failed: $! ($^E)";
while ( <$IN> )
{
print $OUT $_;
}
close $IN;
}
closedir $DIR;
close $OUT;
_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
Re: Concatenation of files
am 18.04.2009 06:38:20 von Bill Luebkert
Justin Allegakoen wrote:
>
> I was feeling kind of adverse to modifying zilore's code since he had
> mentioned your name without the $ in a previous post.
>
> Then it turned into he's obviously doing something useful and
> struggling with it so here's my 5 minutes worth.
>
> TIMTOWDI check. preference check. worse check. Feeling sorry check.
There was basically only one thing wrong with the latest script I
saw and that was that the dir was missing on the rename or unlink
or whatever it was - a common mistake when you're sitting above
the dir you're dealing with. And possibly, I would have used a
filter on the filenames to make sure we only got msg files (I
believe it was msgYYYMMDD or some such). There's nothing wrong
in showing alternatives, but unless there's a rational reason
for switching, they should only be classified as that - possible
alternatives. IOW, I would always try to fix things the way the
person is trying to do it and offer the alternatives as a sidebar.
The ultimate goal/purpose is (I think) to fix the mistakes in/debug
the person's code.
And don't worry about that last check. :)
_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
Re: Concatenation of files
am 20.04.2009 12:51:47 von zilore mumba
Thank you very much all the very valuable assistance. From the time I got the code on !*th I have been traveling, so could not acknowledge earlier.
Justin, the script below which you sent me works marvelously, and thanks for the better directory structure.
Just in case you are able to spend another 5 five minutes for me, at the end of writing the data in one file, I need to remove the original files. If I try to unlink the files I could end up deleting the newly created file. I do not want to mess this wonderful code.
My appreciation to all who spared their time on my problem
Zilore
> use strict;
> use warnings;
> use POSIX;
> use File::Path;
> use File::Copy;
>
> # Variable declaration
> my $debug = 1;
> my $from_dir = "C:/Temp";
> my $top_dir = "C:/Weather";
>
> my ($day, $mon, $year) = ( localtime(time - 86400) )[ 3, 4,
> 5 ];
>
> my $dat0 = sprintf( "%04d%02d%02d", $year + 1900,
> ++$mon, $day );
>
> my $out_file = "$top_dir/$dat0/$dat0.txt";
> print "out_file='$out_file'\n" if
> $debug;
>
> $dat0 = "$top_dir/$dat0";
>
> # Create a directory called by yesterday's date if not
> there
> if ( ! -d $dat0 )
> {
> print "mkpath $dat0\n" if $debug;
>
> mkpath( $dat0 ) or die "mkpath '$dat0'
> failed: $! ($^E)";
> }
>
> # Move all files to date_directory
> opendir my $DIR, $from_dir or die "opendir failed on
> $from_dir: $! ($^E)";
>
> while ( my $item = readdir $DIR )
> {
> next if -d $item;
>
> print "move( '$from_dir/$item',
> '$dat0/$item')\n";
> move( "$from_dir/$item", $dat0) or warn
> "move from $from_dir/$item
> to $dat0 failed: $! ($^E)";
> }
> closedir $DIR;
>
> # open output file - in dat0
> print "Creating output file
> '$out_file'\n" if $debug;
>
> open my $OUT, '>>', $out_file or die
> "Append to '$out_file: failed $! ($^E)";
>
> opendir $DIR, $dat0 or die "opendir on $dat0 failed:
> $! ($^E)";
>
> while ( my $item = readdir $DIR )
> {
> next if -d "$dat0/$item";
> next if "$dat0/$item" =~ /^$out_file$/io;
>
> print "Adding '$dat0/$item'\n" if
> $debug;
>
> open my $IN, '<', "$dat0/$item" or
> warn "open on '$dat0/$item'
> failed: $! ($^E)";
>
> while ( <$IN> )
> {
> print $OUT $_;
> }
> close $IN;
> }
> closedir $DIR;
> close $OUT;
> _______________________________________________
> ActivePerl mailing list
> ActivePerl@listserv.ActiveState.com
> To unsubscribe:
> http://listserv.ActiveState.com/mailman/mysubs
_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
RE: Concatenation of files
am 20.04.2009 13:29:15 von Brian Raven
-----Original Message-----
From: activeperl-bounces@listserv.ActiveState.com
[mailto:activeperl-bounces@listserv.ActiveState.com] On Behalf Of zilore
mumba
Sent: 20 April 2009 11:52
To: activeperl@listserv.activestate.com
Subject: Re: Concatenation of files
> Just in case you are able to spend another 5 five minutes for me, at
the end of writing the data in one file, I > need to remove the original
files. If I try to unlink the files I could end up deleting the newly
created file. > I do not want to mess this wonderful code.
If you don't need to keep the original files, why move them? Just copy
them to the concatenated file from the original directory, and delete
each file after copying.
use strict;
use warnings;
use POSIX;
use File::Path;
use File::Copy;
# Variable declaration
my $debug = 1;
my $from_dir = "C:/Temp";
my $top_dir = "C:/Weather";
my ($day, $mon, $year) = ( localtime(time - 86400) )[ 3, 4, 5 ];
my $dat0 = sprintf( "%04d%02d%02d", $year + 1900, ++$mon, $day );
my $out_file = "$top_dir/$dat0/$dat0.txt";
print "out_file='$out_file'\n" if $debug;
$dat0 = "$top_dir/$dat0";
# Create a directory called by yesterday's date if not there
if ( ! -d $dat0 ) {
print "mkpath $dat0\n" if $debug;
mkpath( $dat0 ) or die "mkpath '$dat0' failed: $! ($^E)";
}
# open output file - in dat0
print "Creating output file '$out_file'\n" if $debug;
open my $OUT, '>>', $out_file or die "Append to '$out_file: failed $!
($^E)";
opendir my $DIR, $from_dir or die "opendir failed on $from_dir: $!
($^E)";
# Copy all files to output file, and delete them
while ( my $item = readdir $DIR )
{
my $fn = "$from_dir/$item";
next if -d $fn;
# Extra filtering perhaps, to make sure we only copy message files
???
next unless $item =~ /^msg/;
print "Copying $fn\n" if $debug;
copy($fn, $OUT) or die "Failed to copy $fn: $!\n";
unlink $fn or die "Failed to delede $fn: $!\n";
}
closedir $DIR;
HTH
--
Brian Raven
This e-mail may contain confidential and/or privileged information. If you are not the intended recipient or have received this e-mail in error, please advise the sender immediately by reply e-mail and delete this message and any attachments without retaining a copy.
Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs