Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37824588
en ru br
Репозитории ALT

Группа :: Разработка/Perl
Пакет: perl-Email-Valid-Loose

 Главная   Изменения   Спек   Патчи   Исходники   Загрузить   Gear   Bugs and FR  Repocop 

Email-Valid-Loose-0.05/000075500000000000000000000000001161472672700146145ustar00rootroot00000000000000Email-Valid-Loose-0.05/Changes000064400000000000000000000010441161472672700161060ustar00rootroot00000000000000Revision history for Perl extension Email::Valid::Loose.

0.05 Fri Jun 23 23:58:36 JST 2006
- Update the module so it works with recent Email::Valid

0.04 Thu Feb 26 18:25:46 JST 2004
- Fixed bug that address(-address => $address) is broken

0.03 Fri Jan 30 17:50:39 JST 2004
* Now allows '-foo@example.com' due to quick hack
(Thanks to Takefumi Kimura)

0.02 Tue Jan 8 01:12:00 JST 2002
- Added dependency on Email::Valid in Makefile.PL
- Added Changes file

0.01 Tue Jan 8 01:11:27 JST 2002
- original versionEmail-Valid-Loose-0.05/MANIFEST000064400000000000000000000002501161472672700157420ustar00rootroot00000000000000Changes
lib/Email/Valid/Loose.pm
Makefile.PL
MANIFEST
README
t/00_compile.t
t/01_loose.t
META.yml Module meta-data (added by MakeMaker)
Email-Valid-Loose-0.05/META.yml000064400000000000000000000006161161472672700160700ustar00rootroot00000000000000# http://module-build.sourceforge.net/META-spec.html
#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX#
name: Email-Valid-Loose
version: 0.05
version_from: lib/Email/Valid/Loose.pm
installdirs: site
requires:
Email::Valid: 0.17
Test::More: 0.32

distribution_type: module
generated_by: ExtUtils::MakeMaker version 6.30
Email-Valid-Loose-0.05/Makefile.PL000064400000000000000000000003401161472672700165630ustar00rootroot00000000000000use ExtUtils::MakeMaker;
WriteMakefile(
'NAME' => 'Email::Valid::Loose',
'VERSION_FROM' => 'lib/Email/Valid/Loose.pm', # finds $VERSION
'PREREQ_PM' => {
Test::More => 0.32,
Email::Valid => 0.17,
},
);
Email-Valid-Loose-0.05/README000064400000000000000000000014711161472672700154770ustar00rootroot00000000000000NAME
Email::Valid::Loose - Email::Valid which allows dot before at mark

SYNOPSIS
use Email::Valid::Loose;

# same as Email::Valid
my $addr = 'read_rfc822.@docomo.ne.jp';
my $is_valid = Email::Valid::Loose->address($addr);

DESCRIPTION
Email::Valid::Loose is a subclass of Email::Valid, which allows . (dot)
before @ (at-mark). It is invalid in RFC822, but is commonly used in
some of mobile phone addresses in Japan (like docomo.ne.jp or
jp-t.ne.jp).

IMPLEMENTATION
This module overrides "rfc822" method in Email::Valid.

AUTHOR
Tatsuhiko Miyagawa <miyagawa@bulknews.net>

This library is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.

SEE ALSO
the Email::Valid manpage, the Mail::Address::MobileJp manpage

Email-Valid-Loose-0.05/lib/000075500000000000000000000000001161472672700153625ustar00rootroot00000000000000Email-Valid-Loose-0.05/lib/Email/000075500000000000000000000000001161472672700164115ustar00rootroot00000000000000Email-Valid-Loose-0.05/lib/Email/Valid/000075500000000000000000000000001161472672700174505ustar00rootroot00000000000000Email-Valid-Loose-0.05/lib/Email/Valid/Loose.pm000064400000000000000000000043721161472672700210750ustar00rootroot00000000000000package Email::Valid::Loose;

use strict;
our $VERSION = '0.05';

use Email::Valid 0.17;
use base qw(Email::Valid);

# This is BNF from RFC822
my $esc = '\\\\';
my $period = '\.';
my $space = '\040';
my $open_br = '\[';
my $close_br = '\]';
my $nonASCII = '\x80-\xff';
my $ctrl = '\000-\037';
my $cr_list = '\n\015';
my $qtext = qq/[^$esc$nonASCII$cr_list\"]/; # "
my $dtext = qq/[^$esc$nonASCII$cr_list$open_br$close_br]/;
my $quoted_pair = qq<$esc>.qq<[^$nonASCII]>;
my $atom_char = qq/[^($space)<>\@,;:\".$esc$open_br$close_br$ctrl$nonASCII]/; # "
my $atom = qq<$atom_char+(?!$atom_char)>;
my $quoted_str = qq<\"$qtext*(?:$quoted_pair$qtext*)*\">; # "
my $word = qq<(?:$atom|$quoted_str)>;
my $domain_ref = $atom;
my $domain_lit = qq<$open_br(?:$dtext|$quoted_pair)*$close_br>;
my $sub_domain = qq<(?:$domain_ref|$domain_lit)>;
my $domain = qq<$sub_domain(?:$period$sub_domain)*>;
my $local_part = qq<$word(?:$word|$period)*>; # This part is modified

# Finally, the address-spec regex (more or less)
use vars qw($Addr_spec_re);
$Addr_spec_re = qr<$local_part\@$domain>;

sub rfc822 {
my $self = shift;
my %args = $self->_rearrange([qw( address )], \@_);

my $addr = $args{address} or return $self->details('rfc822');
$addr = $addr->address if UNIVERSAL::isa($addr, 'Mail::Address');

return $self->details('rfc822') unless $addr =~ m/^$Addr_spec_re$/o;
return 1;
}
1;
__END__

=head1 NAME

Email::Valid::Loose - Email::Valid which allows dot before at mark

=head1 SYNOPSIS

use Email::Valid::Loose;

# same as Email::Valid
my $addr = 'read_rfc822.@docomo.ne.jp';
my $is_valid = Email::Valid::Loose->address($addr);

=head1 DESCRIPTION

Email::Valid::Loose is a subclass of Email::Valid, which allows
. (dot) before @ (at-mark). It is invalid in RFC822, but is commonly
used in some of mobile phone addresses in Japan (like docomo.ne.jp or
jp-t.ne.jp).

=head1 IMPLEMENTATION

This module overrides C<rfc822> method in Email::Valid.

=head1 AUTHOR

Tatsuhiko Miyagawa E<lt>miyagawa@bulknews.netE<gt>

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.

=head1 SEE ALSO

L<Email::Valid>, L<Mail::Address::MobileJp>

=cut
Email-Valid-Loose-0.05/t/000075500000000000000000000000001161472672700150575ustar00rootroot00000000000000Email-Valid-Loose-0.05/t/00_compile.t000064400000000000000000000001171161472672700171720ustar00rootroot00000000000000use strict;
use Test::More tests => 1;

BEGIN { use_ok 'Email::Valid::Loose' }
Email-Valid-Loose-0.05/t/01_loose.t000064400000000000000000000006371161472672700166730ustar00rootroot00000000000000use strict;
use Test::More;

use Email::Valid::Loose;

my @valid = (
'miyagawa@cpan.org',
'rfc822.@docomo.ne.jp',
'-aaaa@foobar.ezweb.ne.jp',
);

my @invalid = (
'doobar',
'doo[@eeee.com',
'',
'foobar@doo.com ',
);

plan tests => (@valid + @invalid);

for (@valid) {
ok( Email::Valid::Loose->address($_), $_ );
}

for (@invalid) {
ok( !Email::Valid::Loose->address($_), $_ );
}

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin