Sha256: 9162e519414da441ce35ace8cf545b33302524cbbed06a3cb0ebd40583dcc1ea

Contents?: true

Size: 642 Bytes

Versions: 214

Compression:

Stored size: 642 Bytes

Contents

package Example;

use strict;
use warnings;

sub new {
    my ($class, $number) = @_;
    my $self = bless {} => $class;
    $self->{number} = $self->_get_digits($number);

    return $self;
}
sub _get_digits {
    my ($self, $number) = @_;
    my $digits = $number;
    $digits =~ s/\D//g;
    
    return $digits if length $digits == 10;
    return substr $digits, 1, 10 if $digits =~ m/1\d{10}/;
    return "0" x 10;
}

sub number { $_[0]->{number} }
sub area_code { substr $_[0]->{number}, 0, 3 }

sub pretty {
    my $pretty = $_[0]->{number};
    $pretty =~ s/(\d\d\d)(\d\d\d)(\d{4})/\($1\) $2\-$3/;
    return $pretty;
}

__PACKAGE__;

Version data entries

214 entries across 214 versions & 1 rubygems

Version Path
trackler-2.2.0.3 tracks/perl5/exercises/phone-number/Example.pm
trackler-2.2.0.2 tracks/perl5/exercises/phone-number/Example.pm
trackler-2.2.0.1 tracks/perl5/exercises/phone-number/Example.pm
trackler-2.2.0.0 tracks/perl5/exercises/phone-number/Example.pm
trackler-2.1.0.55 tracks/perl5/exercises/phone-number/Example.pm
trackler-2.1.0.54 tracks/perl5/exercises/phone-number/Example.pm
trackler-2.1.0.53 tracks/perl5/exercises/phone-number/Example.pm
trackler-2.1.0.52 tracks/perl5/exercises/phone-number/Example.pm
trackler-2.1.0.51 tracks/perl5/exercises/phone-number/Example.pm
trackler-2.1.0.50 tracks/perl5/exercises/phone-number/Example.pm
trackler-2.1.0.49 tracks/perl5/exercises/phone-number/Example.pm
trackler-2.1.0.48 tracks/perl5/exercises/phone-number/Example.pm
trackler-2.1.0.47 tracks/perl5/exercises/phone-number/Example.pm
trackler-2.1.0.46 tracks/perl5/exercises/phone-number/Example.pm
trackler-2.1.0.45 tracks/perl5/exercises/phone-number/Example.pm
trackler-2.1.0.44 tracks/perl5/exercises/phone-number/Example.pm
trackler-2.1.0.43 tracks/perl5/exercises/phone-number/Example.pm
trackler-2.1.0.42 tracks/perl5/exercises/phone-number/Example.pm
trackler-2.1.0.41 tracks/perl5/exercises/phone-number/Example.pm
trackler-2.1.0.40 tracks/perl5/exercises/phone-number/Example.pm