En Perl... hay pocas cosas que son imposibles
El módulo lo puedes llamar Intercambio_class.pm, y en su interior, puedes crear objetos que pertenezcan a la clase que tu quieras:
Using perl Syntax Highlighting
#!/usr/bin/perl
package Intercambio;
sub new {
my $self = {};
bless $self, 'Intercambio';
return $self;
}
1;
Coloreado en 0.003 segundos, usando
GeSHi 1.0.8.4
Y luego, en el programa,
Using perl Syntax Highlighting
#!/usr/bin/perl
use v5.14;
use Intercambio_class;
my $inter = Intercambio->new();
use Data::Dumper;
say Dumper $inter;
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
La salida demuestra que $inter es un objeto que pertenece a la clase 'Intercambio'. bless() se traduce por 'bendecir', aunque lo más apropiado en este caso sería traducirlo por 'bautizar', porque en ese momento le damos un nombre.
Pero, aunque esto se puede hacer así, habría problemas en el futuro si queremos hacer cosas como la herencia entre clases. No digo que no se pueda hacer, pero habría que buscar la sintaxis correcta para que funcionase. Más información en tu propio ordenador en
perldoc perlobj,
y en la Web (
traducido).
Casi mejor si se queda así:
Using perl Syntax Highlighting
#!/usr/bin/perl
package Intercambio;
sub new {
my $class = shift;
my $self = {};
bless $self, $class;
return $self;
}
1;
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
y así el objeto tiene la clase de la que fue invocada.
Eso de llamarlo
Intercambio.class.pm... suena a que quien te lo ha mandado sabe programar en Java
Si se quiere especificar en el nombre qué es lo que contiene ese módulo, pues entonces se genera una división completa. Por ejemplo:
Intercambio::Clases, que será un módulo que está escrito en el archivo
Intercambio/Clases.pm.