One benefit to Hash Tables that needs to be pointed out is the total ease in adding and retrieving dynamically named items, in comparison to dynamically named variables. No messing around with nested brackets or $eval(). Just simple concatenation in both /hadd and $hget().

/hadd MyTable $+(spammer.,$nick,.,$chan,.,$network,.,$cid) $ctime

if ($hget(spammer.,$nick,.,$chan,.,$network,.,$cid)) { ban -k $chan $nick 2 Spammer! }


Well. At least I won lunch.
Good philosophy, see good in bad, I like!