#! perl -slw use strict; use Benchmark qw[ cmpthese ]; package C; use constant { RED => 0xFF0000, BLUE => 0x00FF00, GREEN => 0x0000FF, }; package main; use constant { RED => 0xFF0000, BLUE => 0x00FF00, GREEN => 0x0000FF, }; my %colors = ( RED => 0xFF0000, BLUE => 0x00FF00, GREEN => 0x0000FF, ); open STDERR, ">nul"; cmpthese -1, { hash => sub{ warn $colors{ RED }, $colors{ BLUE }. $colors{ GREEN }; }, m_const => sub{ warn RED, BLUE. GREEN; }, p_const => sub{ warn C::RED, C::BLUE. C::GREEN; }, }; __END__ P:\test>junk Rate hash m_const p_const hash 116531/s -- -11% -12% m_const 130636/s 12% -- -1% p_const 132428/s 14% 1% -- P:\test>junk Rate hash p_const m_const hash 116531/s -- -9% -10% p_const 128577/s 10% -- -1% m_const 129366/s 11% 1% -- P:\test>junk Rate hash m_const p_const hash 116642/s -- -10% -10% m_const 129468/s 11% -- -0% p_const 129590/s 11% 0% --