4 # Глобальные переменные
6 my $isRemoveDuplicates = 0;
7 my $isSplitByDomens = 0;
14 # Парсер параметров командной строки
15 sub parseCommandLine {
16 my $arg = shift(@ARGV);
20 if($arg =~ /^-{1,2}.+$/){
21 if ($arg =~ /^-{1,2}version$/){
24 } elsif ($arg =~ /^-{1,2}help$/){
27 } elsif ($arg eq '--remove-duplicates'){
28 $isRemoveDuplicates = 1;
29 } elsif ($arg eq '--split-by-domens'){
31 } elsif ($arg =~ /--exclude-domen[=]{0,1}(\w*)/){
33 illegalUse() if $excludeDomen ne '' && $arg !~ /--exclude-domen=\w*/;
34 $excludeDomen = shift(@ARGV) if $excludeDomen eq '';
35 illegalUse() if $excludeDomen eq '';
40 illegalUse() if $fileName ne '';
51 # Вывод информации о программе
54 E-mail filter tool for Aptech
57 Copyright 2011, David Veliev (gotoindvdum@gmail.com).
59 This program may be used under Apache License 2.0.
65 # Вывод доступных параметров командной строки
67 my $help = q {usage: }.$0. q { [KEYS] FILENAME [KEYS]
69 Parse for e-mails file FILENAME with arguments KEYS and print result to standart output stream.
72 --help print this help
73 --version print version and information about this script
74 --remove-duplicates remove e-mail duplicates
75 --split-by-domens split e-mails by domens
76 --exclude-domen[=]DOMEN exclude e-mails with domen DOMEN
81 # Неправильный формат параметров командной строки
83 print "Illegal use!\n\n";
90 open FILE, $fileName or die "Failed to open $fileName: $!\n";
93 my (@test) = $_ =~ /.*(\w@\w\.\w)*.*/;