http://qs321.pair.com?node_id=424412


in reply to Re: $foo = "Foo::Bar"; $foo->new() works?
in thread $foo = "Foo::Bar"; $foo->new() works?

It even turns out that there is no speed difference. (I expected *some* advantage to the inline string, because there'd be an extra indirection. But it's lost to the method call overhead.)

use Benchmark; package Bar; sub new {}; package main; my $obj; my $class = "Bar"; # "our" *is* slower, though. timethese -1, { bareword => sub { $x = Bar->new() }, var => sub { $x = $class->new() }, }; ######################################### Benchmark: running bareword, var for at least 1 CPU seconds... bareword: 1 wallclock secs ( 1.06 usr + 0.00 sys = 1.06 CPU) @ 59 +0160.38/s (n=625570) var: 1 wallclock secs ( 1.06 usr + 0.00 sys = 1.06 CPU) @ 59 +0160.38/s (n=625570)