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


in reply to Re: Indirect Object Syntax (Parsing Barewords and Quoting References)
in thread Indirect Object Syntax

see also Indirect Object Syntax by Bod from (working class) Coventry, UK.

Around here they call me posh as I hail from Warwick. Only 14 miles distance geographically but a world apart if the British class system still existed!

new Foo has two barewords

Is new not a keyword that Perl understands without any context other than a module name will follow?

So, to ensure I do understand...
Are these the accepted way to do it? Can they be imporved?

my $gd = GD::Image->new(); @bounds = $gd->stringFT(...);
Is it OK to condense that down to this and avoid the intermediate variable definition?
@bounds = GD::Image->new()->stringFT(...);
Are the brackets necessary as the -> operator explicitly tells Perl this is a method call?
@bounds = GD::Image->new->stringFT(...);


Update: I've been reading this book and realised that new is not a keyword in Perl! It is just the name of a commonly used module method. Another little chunk of understanding falls into place...