use strict; use warnings; use Tie::Hash::Indexed; use Hash::Ordered; use MCE::Shared::Ordhash; use MCE::Hobo; use MCE::Shared; my $hi = MCE::Shared->share({ module => 'Tie::Hash::Indexed' }, total => 0); my $ho = MCE::Shared->share({ module => 'Hash::Ordered' }, total => 0); my $oh = MCE::Shared->share({ module => 'MCE::Shared::Ordhash' }, total => 0); sub task { my $id = shift; $hi->set($id => $id); $hi->preinc('total'); $ho->set($id => $id); $ho->preinc('total'); $oh->set($id => $id); $oh->incr('total'); } MCE::Hobo->create('task', $_) for 1..4; MCE::Hobo->wait_all(); my (@k, @v); @k = $hi->keys; print "hi keys: @k\n"; @k = $ho->keys; print "ho keys: @k\n"; @k = $oh->keys; print "oh keys: @k\n"; @v = $hi->values; print "hi vals: @v\n"; @v = $ho->values; print "ho vals: @v\n"; @v = $oh->values; print "oh vals: @v\n"; __END__ hi keys: total 1 2 3 4 ho keys: total 1 2 3 4 oh keys: total 1 2 3 4 hi vals: 4 1 2 3 4 ho vals: 4 1 2 3 4 oh vals: 4 1 2 3 4