Para conseguir este efecto, lo normal en Perl es que nos aseguremos que nuestro método abstracto produce una excepción con el mensaje de error adecuado. Cuando el número de métodos abstractos es grande puede suponer un ahorro utilizar un método genérico como este:
package Abstract; sub ABSTRACT { my $self = shift; my ($file, $line, $method) = (caller(1))[1..3]; die("call to abstract method ${method} at $file, line $line\n"); } 1;Obsérve el uso de la función
caller
introducida en la sección 1.15.10
para determinar la localización exacta de la llamada.
Casiano Rodríguez León