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


in reply to multiple method calls against the same object (f.ex GUI programming)

If the method calls are set up properly, you can "chain" them, like:
(my $window = Gtk::Window->new("toplevel")) ->signal_connect(delete => sub { Gtk->exit(0); return }) ->set_title("Test") ->border_width(15) ->add($btn) ->show;
but this requires that each of these configurator calls returns $self as the last step, which is frequently the case, although beginners don't understand why to do this because they've not seen this pattern before. Even if it doesn't, I sometimes find myself simply chaining these calls using an alias:
my $window = Gtk::Window->new("toplevel"); for ($window) { $_->signal_connect(delete => sub { Gtk->exit(0); return }); $_->set_title("Test"); $_->border_width(15); $_->add($btn); $_->show; }
By not repeating $window repeatedly, you make it clear in the code that you are working on the same object every time. Also, it works well if you want to configure many objects similarly.

-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.