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

Er, the exact same reason:
Foo::Bar::Baz->new()
works. Perl just needs a package name as a string to look up the appropiate method, it doesn't care if the string is in the form of a bareword or contained in a scalar.