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


in reply to Things I Don't Use in Perl

For what it's worth, I am a fan of polymorphic getter/setters, but I autogenerate them rather than writing them individually:

Nothing here that couldn't also be done with separate getters and setters; the two main benefits are the avoidance of code duplication, and the ease of iterating over the fields.

I agree with you about tie and lvalue though. :)

Update: I forgot the one time I have profitably used tie:

package MyApp::Log; my $log; sub enable { ... $log = MyApp::Log->new($context); tie *STDERR, 'MyApp::Log::STDERR'; ... } { package MyApp::Log::STDERR; sub TIEHANDLE { my $class = shift; bless {}, $class; } sub PRINT { my $self = shift; $log->die(join '', @_); } }
for those things not caught by $SIG{__(WARN|DIE)___} handlers.

Hugo