ik ben bezig met een perl script/programa om via de dos prompt te kunnen mailen.
maar omdat de dos prompt qua parameters erg beperkt is en ik het programma zo flexibel en schaalbaar mogelijk wil houden
zorg ik voor een aantal manieren van invoer.
de basis is eigenlijk dit
mailtoo -voor e@mail.nl
ook mogelijk is -voor e@mail.nl,blaat@blaat.nl
maar ook vanuit een bestand e-mail adressen inlezen.
en dit combineren met e-mail adressen
mailtoo -voor admin@blaat.nl,email_bestand.txt
(waarin email_bestand.txt b.v. zo iets kan bevatten;
blaat@blaat.nl,blaat@snel.nl,bob@jaap.be
jaap@bob.nl,snel@blaat.nl
)
dit werkt allemaal prima, en ik ben ook heel trots op mezelf
(ben nog niet zo lang bezig met perl namelijk en het lukt me toch aardig)
maar de code om dit te doen is nu een aantal keer genest.
ik heb nu al in dit stukje zo veel mogelijk $_'s veranderd in gewone variablen.
maar ik vroeg me toch of of het niet beter zou zijn om er meschien maar ergenst een functie van te maken.
want ik kan me ergenst herineren dat meer dan 3 keer nesten gewoon niet overzichtelijk is en dat je het zo veel mogelijk moet vermijden.
dus ik wou even commentaar hebben over de duidelijkheid van de code en of ik het meschien niet in functies moet stoppen.
alle commentaar is welkom over de constructie ervan.
als sidenote, (voor de mensen die dat intresant vinden)
programma is bedoelt voor het bedrijf waar ik stage loop,
en zodra ik weg ben is daar dus niemand meer met perl kennis,
dus ik wou alles zo simpel mogelijk houden.
p.s.
dit is dus maar een klein stukje van de code.
maar omdat de dos prompt qua parameters erg beperkt is en ik het programma zo flexibel en schaalbaar mogelijk wil houden
zorg ik voor een aantal manieren van invoer.
de basis is eigenlijk dit
mailtoo -voor e@mail.nl
ook mogelijk is -voor e@mail.nl,blaat@blaat.nl
maar ook vanuit een bestand e-mail adressen inlezen.
en dit combineren met e-mail adressen
mailtoo -voor admin@blaat.nl,email_bestand.txt
(waarin email_bestand.txt b.v. zo iets kan bevatten;
blaat@blaat.nl,blaat@snel.nl,bob@jaap.be
jaap@bob.nl,snel@blaat.nl
)
dit werkt allemaal prima, en ik ben ook heel trots op mezelf
(ben nog niet zo lang bezig met perl namelijk en het lukt me toch aardig)
maar de code om dit te doen is nu een aantal keer genest.
ik heb nu al in dit stukje zo veel mogelijk $_'s veranderd in gewone variablen.
maar ik vroeg me toch of of het niet beter zou zijn om er meschien maar ergenst een functie van te maken.
want ik kan me ergenst herineren dat meer dan 3 keer nesten gewoon niet overzichtelijk is en dat je het zo veel mogelijk moet vermijden.
dus ik wou even commentaar hebben over de duidelijkheid van de code en of ik het meschien niet in functies moet stoppen.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| if (@ARGV[$argnum]=~/-voor/) {
$argnum++;
@temp = split(/,/,@ARGV[$argnum]);
foreach $par (0 .. $#temp) {
if (@temp[$par]!~/.*\@.*\.(be|nl|BE|NL)/ && (! -e @temp[$par])) {
$error_num++;
@error[$error_num-1]="e-mail notatie van @temp[$par] niet correct.";
}
if (@temp[$par]=~/.*\@.*\.(be|nl|BE|NL)/ && (! -e @temp[$par])) {
$voor = "@temp[$par],$voor";
$voor_num++;
}
if (@temp[$par]!~/.*\@.*\.(be|nl|BE|NL)/ && (-e @temp[$par])) {
open (INFILE, @temp[$par]);
while (<INFILE>) {
@temp2 = split(/,/,$_);
foreach $par_line (0 .. $#temp2) {
if ($temp2[$par_line]=~/.*\@.*\.(be|nl|BE|NL)/) {
chomp($temp2[$par_line]);
$voor = "$temp2[$par_line],$voor";
$voor_num++;
}
else {
$error_num++;
@error[$error_num-1]="e-mail notatie van $temp2[$par_line] in @temp[par] niet correct.";
}
}
}
}
}
} |
alle commentaar is welkom over de constructie ervan.
als sidenote, (voor de mensen die dat intresant vinden)
programma is bedoelt voor het bedrijf waar ik stage loop,
en zodra ik weg ben is daar dus niemand meer met perl kennis,
dus ik wou alles zo simpel mogelijk houden.
p.s.
dit is dus maar een klein stukje van de code.
[ Voor 4% gewijzigd door Verwijderd op 14-01-2003 11:17 ]