in reply to Re: variables as classes
in thread variables as classes
package Email; use overload '""'=> \&ADDRESS , fallback=> 1; my $RE_EMAIL= qr/^[\w\-\+\._]+\@[a-zA-Z0-9][-a-zA-Z0-9\.]*\.[a-zA- +Z]+$/ ; sub new { my $proto= $_[0]; my $class= ref($proto) || $proto; my $self= bless( {} , $class ); $self->{ADDRESS}= undef; $self->ADDRESS( $_[1] ); return $self; } sub ADDRESS { my $self= shift; if ( @_ ) { my $email= shift; $email=~ $RE_EMAIL or die "Not a valid email address"; $self->{ADDRESS}= $email; } return $self->{ADDRESS}; } sub _as_str { my ( $self )= @_; return $self->ADDRESS; }
|
|---|