Re: loop through a hash structure without knowing the hash keys?
Carl Franks <[email protected]>
| Newsgroups | gmane.comp.lang.perl.modules.html-template |
|---|---|
| Message-ID | <[email protected]> |
SWYgeW91IG1ha2Ugc3VyZQpkaWVfb25fYmFkX3BhcmFtcyA9PiAxCmlzIHNldCBpbiB5b3VyIEhU TUw6OlRlbXBsYXRlIGNvbnN0cnVjdG9yLCB0aGVuIGFueSB2YXJpYWJsZSB3aGljaAppc24ndCBz ZXQgaW4gdGhlIHRlbXBsYXRlLCBvciBpcyBtaXNzcGVsdCB3aWxsIGNhdXNlIHRoZSBwYWdlIHRv IGRpZSAtCnRoZSBkZXNpZ25lciBjYW4gdGhlbiB0ZWxsIHdoYXQncyB3cm9uZyBieSBzaW1wbHkg bG9va2luZyBhdCB0aGUgZXJyb3IKbWVzc2FnZS4KCkNhcmwKCgpPbiAwMi8xMi8wNSwgQm9vbiBD aGV3IDx3YXNwZmlzaEB5YWhvby5jb20+IHdyb3RlOgo+Cj4gV2VsbCwgSSBndWVzcyBJIHNob3Vs ZCBoYXZlIGV4cGxhaW5lZCB0aGUgbmVlZCBvZiB0aGlzCj4gd2l0aCBhIG1vcmUgc29saWQgcmVh bCB3b3JsZCB1c2UgY2FzZS4KPiBSZWNlbnRseSBJIGFtIGludm9sdmVkIGluIGEgcHJvamVjdCB1 c2luZyBLcmFuZywgYSBDTVMKPiBzeXN0ZW0gd3JpdHRlbiBpbiBQZXJsIHRoYXQgdXRpbGl6ZXMg SFRNTDo6VGVtcGxhdGUuCj4gTm93IGhlcmUgaXMgdGhlIHRoaW5nLCB3ZSBhcmUgZmFpcmx5IG5l dyB0byB0aGUgY29kZQo+IGJhc2UsIGJ1dCBpbiBhIGZldyBkYXlzIG9mIGdvaW5nIHRocm91Z2gg dGhlIGNvZGUgYW5kCj4gcG9raW5nIGFyb3VuZCB0aGUgY29kZSwgd2Ugd2VyZSBhYmxlIHRvIGlt cGxlbWVudAo+IHF1aXRlIGEgZmV3IG5ldyBmZWF0dXJlcyBmb3IgdGhlIGNsaWVudC4KPgo+IEJ1 dCBvdXIgdW5kZXJzdGFuZGluZyBvZiB0aGUgc3lzdGVtIGlzIHN0aWxsIGltbWF0dXJlCj4gYW5k IGluY29tcGxldGUsIGFuZCB0aGVyZSBhcmUgdGltZXMgdGhlIHRlbXBsYXRlIHZhcgo+IGlzIGJl aW5nIHNldCBzb21ld2hlcmUgaW4gdGhlIGluaGVyaXRhbmNlIGNoYWluLCBhbmQKPiB3ZSBrbm93 IGEgdGVtcGxhdGUgY2FuIGFjY2VzcyBhIHNwZWNpZmljIHZhcmlhYmxlCj4gKHRocm91Z2ggaW5j b21wbGV0ZSBkb2MgYW5kIHRtcGxfaWYgdGVzdCksIGJ1dCB0aGVyZQo+IGlzIG5vIHdheSB0byBr bm93IGhvdyB0byBhY2Nlc3MgdGhlIHZhcmlhYmxlIHdpdGhvdXQKPiBnb2luZyB0aHJvdWdoIHRo ZSBjb2RlIHRyYWNpbmcgb3V0IHdoZXJlIGFuZCB3aGF0IGlzCj4gc2VudCB0byB0aGUgdGVtcGxh dGUuICBBbmQgd2hhdCBpZiB0aGUgZG9jdW1lbnRhdGlvbgo+IG1pc3NlcyB0YWxraW5nIGFib3V0 IGEgdmFyIHRoYXQgaXMgc2VudCB0byB0aGUKPiB0ZW1wbGF0ZT8gIE5vIG9uZSB5b3UgY2FuIGZp bmQgb3V0IHVubGVzcyB5b3UgcG9rZQo+IGFyb3VuZCB0aGUgY29kZSwgYnV0IHRoZSBwcm9jZXNz IGNhbiBiZSB0aW1lIGNvbnN1bWluZwo+IGFzIG5vdCBhbGwgdGhlIHRlbXBsYXRlcyBhcmUgYmVp bmcgc2V0IGluIG9uZSBmaWxlCj4gKGR1ZSB0byBPTykuCj4KPiBJIGZpbmQgaXQgc3VycHJpc2lu ZyB0aGF0IHBlb3BsZSBleHBlY3QgcHJvYmxlbXMgY2FuCj4gYmUgc29sdmVkIHdpdGggZG9jdW1l bnRhdGlvbiwgb3IgY29tbXVuaWNhdGlvbiB3aXRoCj4gdGhlIGZyb250ZW5kIGZvbGtzLiAgSW4g dGhlIHJlYWwgd29ybGQsIGRvY3VtZW50YXRpb24KPiBpcyBuZXZlciBhcyBjb21wbGV0ZSBhcyBz aG91bGQsIEkgbWVhbiwgaXQncyBoYXJkCj4gZW5vdWdoIHRvIGdldCBzb21lIHRvIGNvbW1lbnQg dGhlaXIgY29kZSEgIEFuZCBpbiB0aGUKPiByZWFsIHdvcmxkLCB5b3UgZG9uJ3QgYWx3YXlzIHN0 YXJ0IGEgcHJvamVjdCB3aXRoIGNvZGUKPiB0aGF0IHlvdSBoYXZlIHdyaXR0ZW4gYXMgd2VsbC4g IFRoZSBuZWVkIHRvIGJlIGFibGUgdG8KPiBpbnRyb3NwZWN0IGFuZCBhY2Nlc3Mgd2hhdCBpcyBz ZW50IHRvIHRoZSB0ZW1wbGF0ZQo+IHdpdGhvdXQgaGF2aW5nIHRoZSBwZXJsIGNvZGUgaXMgYSB1 c2VmdWwgYW5kCj4ganVzdGlmaWFibGUgZmVhdHVyZSBvZiBhbnkgc2VydmVyLXNpZGUgc2NyaXB0 aW5nCj4gZnJhbWV3b3JrLgo+Cj4KPiAtIGJvb24KPgo+IC0tLSAiV2VibWFzdGVyIFRlY2hjb2Rl Lk5FVCIgPHdlYm1hc3RlckB0ZWNoY29kZS5uZXQ+Cj4gd3JvdGU6Cj4KPiA+Cj4gPiAtLS0tLSBP cmlnaW5hbCBNZXNzYWdlIC0tLS0tCj4gPiBGcm9tOiBCb29uIENoZXcKPiA+Cj4gPiBJIHdhbnQg YSB3YXkgdG8gcXVpY2tseSBkaXNwbGF5IGFsbCB0aGUgaW5mbyBpbiBhCj4gPiB2YXIgLSBhIER1 bXBlciBvdXRwdXQgaWYgeW91IHdpbGwuICBCdXQgbW9yZSB0aGFuCj4gPiB0aGF0LCBsaWtlIGlu IHNvbWUgb3RoZXIgc2VydmVyLXNpZGUgbGFuZ3VhZ2UsIHlvdQo+ID4gY2FuIHF1ZXJ5IHRoZSBj b2x1bW4gbGlzdHMgKG9yIGhhc2gga2V5cykgYW5kIGxvb3AKPiA+IHRocm91Z2ggdGhvc2UgYW5k IHVzZSBhIHBpZWNlIG9mIGdlbmVyaWMgY29kZSB3aGVuCj4gPiBhbGwgeW91IGludGVuZCB0byBk byBpcyB0byBkaXNwbGF5IGV2ZXJ5dGhpbmcgaW4gdGhlCj4gPiB2YXIuCj4gPgo+ID4gLS0tLS0g T3JpZ2luYWwgTWVzc2FnZSAtLS0tLQo+ID4KPiA+IEkgYWdyZWUgLSBzb21ldGhpbmcgbGlrZSBE YXRhOjpEdW1wZXIgaW4KPiA+IEhUTUw6OlRlbXBsYXRlIGNvbnRleHQgd291bGQgYmUgZ3JlYXQu Cj4gPgo+ID4gQW5kIHlvdSBjYW4gYWxzbyAieW91IGNhbiBxdWVyeSB0aGUgY29sdW1uIGxpc3Rz IChvcgo+ID4gaGFzaCBrZXlzKSBhbmQgbG9vcCB0aHJvdWdoIHRob3NlIiBpbiBQZXJsIGp1c3Qg bGlrZQo+ID4gaW4gYW55IG90aGVyIHNlcnZlci1zaWRlIGxhbmd1YWdlIC4uLgo+ID4KPiA+IGZv cmVhY2goQGFycmF5KXsKPiA+ICAgICBwcmludCAkXywiXG48YnI+IjsKPiA+IH0KPiA+Cj4gPgo+ ID4KPiA+IC0tLS0tIE9yaWdpbmFsIE1lc3NhZ2UgLS0tLS0KPiA+IFRoZSB0aWdodCBjb3VwbGlu ZyBvZiBrbm93bGVkZ2UgYmV0d2VlbiB3aGF0J3MgYmVpbmcKPiA+IHNlbnQgZnJvbSB0aGUgcGVy bCBjb2RlIGFuZCB0aGUgSFRNTCBjYW4gYmUgYXZvaWRlZCwKPiA+IHRoYXQncyB0aGUgd2hvbGUg cG9pbnQgb2YgdGhlIGRlc2lnbiBvZiB0aGUgdGVtcGxhdGUKPiA+IG1vZHVsZSAodnMgTWFzb24g d2hlcmUgeW91IG1pbmdsZSBQZXJsIGNvZGUgd2l0aAo+ID4gZGlzcGxheSBjb2RlKSByaWdodD8g IEl0IGp1c3Qgc2VlbXMgdWdseSB3aGVuIEkgaGF2ZQo+ID4gdG8gdGVsbCBhIGRlc2lnbmVyIHRv IGdvIGxvb2sgYXQgdGhlIHBlcmwgZmlsZSB0bwo+ID4gc2VlIHdoYXQgaGUgaXMgZ2V0dGluZyBp biB0aGUgdmFyLiAgSGUgc2hvdWxkIGJlCj4gPiBhYmxlIHRvIGZpbmQgdGhhdCBvdXQgZnJvIG0g c29tZSBzZW5zaWJsZQo+ID4gY29uc3RydWN0cy4KPiA+IC0tLS0tIE9yaWdpbmFsIE1lc3NhZ2Ug LS0tLS0KPiA+Cj4gPiBZb3UgbWlzc2VkIHRoZSBwb2ludCAuLi4KPiA+Cj4gPiBJIG1lYW4gLSBk ZXNpZ25lciBzaG91bGRuJ3QgbmVlZCB0byB0YWtlIGEgbG9vayBhdAo+ID4gUGVybCBjb2RlIHRv IGZpZ3VyZSBvdXQgd2hhdCB5b3UgYXJlIG91dHB1dGluZyAuLi4KPiA+IEFuZCAic29tZSBzZW5z aWJsZSBjb25zdHJ1Y3RzIiBhcmUgZG9jdW1lbnRzIHRoYXQKPiA+IGZvbG93IGV2ZXJ5IHByb2pl Y3QuIEhhdmUgeW91IGV2ZXIgaGVhcmVkIG9mIHRlcm1zCj4gPiBsaWtlIEFQSSBvciBJbnRlcmZh Y2U/IFlvdSBhbmQgeW91IGRlc2lnbmVyIG5lZWQgdG8KPiA+IGFncmVlIG9uICJJbnRlcmZhY2Ui IC0gaW4geW91ciBjYXNlIHRoZSBkYXRhIGhlIGNhbgo+ID4gdXNlIGluIHRoZSB0ZW1wbGF0ZSAu Li4KPiA+Cj4gPiBBbnl3YXkgLSB0aGUgcXVpY2sgYW5kIHNpbXBsZSBzb2x1dGlvbiB0aGF0IGp1 c3QKPiA+IGNyb3NzZWQgbXkgbWluZCA7KQo+ID4KPiA+IE1ha2Ugc29tZXRoaW5nIGEgcnVsZSAt IGZvciBlYWNoIHRlbXBsYXRlIC0geW91Cj4gPiBjb3VsZCBjcmVhdGUgYSBzcGVjaWFsIHZhcmlh YmxlLiBTYXkgeW91IGNhbiBuYW1lIGl0Cj4gPiA6ICJ0aGVfZHVtcCIgb3Igd2hhdGV2ZXIuCj4g PiBBbmQgc2ltcGx5IGR1bXAgdmlhIERhdGE6OkR1bXBlciBhbGwgdmFyaWFibGVzIHRoYXQKPiA+ IHlvdSAocGxhbikgcG9wdWxhdGUgdGhlIHRlbXBsYXRlIHdpdGggLSBvciBzZW5kIHRvCj4gPiB0 ZW1wbGF0ZS4KPiA+Cj4gPiBBY3R1YWx5IC0gdGhpcyBjb3VsZCBiZSBtYWRlIGFzIHBhcnQgb2YK PiA+IEhUTUwtVGVtcGxhdGUgLi4uCj4gPgo+ID4gQW55d2F5IC0gdGhlbiB5b3VyIGRlc2lnbmVy IGNvdWxkIGp1c3QgYWRkIDx0bXBsX3Zhcgo+ID4gbmFtZT0idGhlX2R1bXAiPiBhdCB0aGUgZW5k IG9mIHRoZSB0ZW1wbGF0ZSBpZiBoZSBpcwo+ID4gbm90IHN1cmUgd2hhdCBkYXRhIGhlIGNhbiBh Y2Nlc3MuCj4gPgo+ID4gT2YgY291cnNlIC0gbmV4dCB0aGluZyBoZSB3aWxsIGNvbXBsYWluIGlz IHdoeSBpbgo+ID4gdGhlIGhlbGwgaGUgY2FuJ3QgZG8gYSBwcmV2aWV3IGluIERyZWFtd2VhdmVy IHdpdGgKPiA+IHRlc3QgZGF0YSBhbHJlYWR5IHBvcHVsYXRlZCAuLi4KPiA+Cj4gPiBDaGVlcnMs Cj4gPiBBbGV4Lgo+ID4gThisSFnetemailissponsoredbwnplunP4ncDoyougo+ID4g3qbYa6Lo IZaIH4pXrH6K6ShyKYblemsStopDowo+IOWhp22F6d7AAkBex5qtyF6eCKd62Fq2ZqR6yx5qtyGK eDKi6uWiB+KV6xqx5qzJqyy6t+KeC2F7B5sM5T8s4ANI8tQ0qG22n/9p2yix2dyib9p2J++t+2pZ aHIn16865opyWJw/e2aW16amVq166x4ocinJmopYp4JYrLR7ZpbXpqZWrXrrHihyKclistssourc eforP+nethttps//listssourceforgeP+t/lists/listinfj/htmltemplatcocimx6uwKPgo+ Cj4KPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IFlhaG9v ISBEU0wgliBTb21ldGhpbmcgdG8gd3JpdGUgaG9tZSBhYm91dC4KPiBKdXN0ICQxNi45OS9tby4g b3IgbGVzcy4KPiBkc2wueWFob28uY29tCj4KPgo+Cj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+IFRoaXMgU0YubmV0IGVtYWlsIGlzIHNw b25zb3JlZCBieTogU3BsdW5rIEluYy4gRG8geW91IGdyZXAgdGhyb3VnaCBsb2cgZmlsZXMKPiBm b3IgcHJvYmxlbXM/ICBTdG9wISAgRG93bmxvYWQgdGhlIG5ldyBBSkFYIHNlYXJjaCBlbmdpbmUg dGhhdCBtYWtlcwo+IHNlYXJjaGluZyB5b3VyIGxvZyBmaWxlcyBhcyBlYXN5IGFzIHN1cmZpbmcg dGhlICB3ZWIuICBET1dOTE9BRCBTUExVTkshCj4gaHR0cDovL2Fkcy5vc2RuLmNvbS8/YWRfaWQ9 NzYzNyZhbGxvY19pZD0xNjg2NSZvcD1jbGljawo+IF9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCj4gSHRtbC10ZW1wbGF0ZS11c2VycyBtYWlsaW5nIGxpc3QK PiBIdG1sLXRlbXBsYXRlLXVzZXJzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+IGh0dHBzOi8vbGlz dHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZvL2h0bWwtdGVtcGxhdGUtdXNlcnMKPgo= ------------------------------------------------------- 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