Para especificar como sobrecargar el operador convertir un objeto a cadena
hay que sobrecargar el operador de stringification
denotado como "\"\"" ó también q("") o incluso '""'.
La rutina asociada será llamada siempre que el objeto de la clase correspondiente
aparezca en un contexto que requiera una cadena.
package DaysOfTheWeek;
...
my @_day_name = qw(Sun Mon Tue Wed Thu Fri Sat)
use overload
q("") => sub { $_day_name[$_[0]->val] };
De este modo cuando se cree un objeto DaysOfTheWeek:
my $day = DaysOfTheWeek->new(3);
y se use en un contexto que requiere una cadena como es la función print:
print $day,"\n";la función asociada con
q("") será llamada, dando lugar a la salida:
TueOtros contextos en los que se requiere una cadena y, por tanto, se producirá la conversión son:
$menu{$day})
Casiano Rodríguez León
