If dieing at runtime isn't good enough for you, I would assume you do not have tests to catch your errors before running your code 'in the wild'.
While it would be a much better idea to integrate a test suite into your development, I believe it will be possible to get the results you want without taking that step.
You might want to try something like this (untested) code.
package My::Base; use strict; sub new { my $class = shift; die "Override must_be_overridden" if ($class->can('must_be_overridden') == \&must_be_overridden); } sub must_be_overridden { die "Cannae call this method - Override me!"; }
Please note that as this uses can it will not work well if you are using AUTOLOADER
In reply to Re: Java Style Interface Objects?
by Tuppence
in thread Java Style Interface Objects?
by pileofrogs
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |