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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.