Tengo algo así: en primer lugar una clase con este aspecto:
Using perl Syntax Highlighting
#!/usr/bin/env perl
package control;
use strict;
use warnings;
use FicheroCont;
sub new{
my $clase =shift;
my $self ={};
$self->{fcont} = FicheroCont->new();
bless ($self,$clase);
return $self;
}
sub opera{
my $self = shift;
$fcont->operacion("3");
return;
}
1;
package control;
use strict;
use warnings;
use FicheroCont;
sub new{
my $clase =shift;
my $self ={};
$self->{fcont} = FicheroCont->new();
bless ($self,$clase);
return $self;
}
sub opera{
my $self = shift;
$fcont->operacion("3");
return;
}
1;
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
En la clase FicheroCont tenemos lo siguiente:
Using perl Syntax Highlighting
#!/usr/bin/env perl
package FicheroCont;
use strict;
use warnings;
sub new{
..........
}
sub operacion{
my $self = shift;
my $id = shift;
print ("DEBUG: identificador recuperado... ".$id);
return;
}
1;
package FicheroCont;
use strict;
use warnings;
sub new{
..........
}
sub operacion{
my $self = shift;
my $id = shift;
print ("DEBUG: identificador recuperado... ".$id);
return;
}
1;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
El script principal es el siguiente:
Using perl Syntax Highlighting
#!/usr/bin/perl -w
use strict;
use warnings;
use control;
my $ctrl = control->new();
$ctrl->opera();
__END__
use strict;
use warnings;
use control;
my $ctrl = control->new();
$ctrl->opera();
__END__
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Al invocar al método operacion de la clase FiceroCont, aparece en pantalla el siguiente mensaje:
DEBUG: identificador recuperado...30
En lugar de
DEBUG: identificador recuperado...3
He comprobado que siempre añade un 0 al final. ¿Por qué?