19. september 2003 - 14:19
Der er
10 kommentarer og 1 løsning
split? eller evt reg.expression?
Hey.. Jeg har følgende: while( my $line = <FH> ) { if ($line =~ /^\+/) { @a = split ':|\+|-',$line; $domain=$a[1]; $path=$a[6]; print "\n\n$domain ---> $path\n"; } } De linier der smides til scriptet ser således ud: +familien-abc.dk-:familien-abc.dk:512:507:/home/vpopmail/domains/familien-abc.dk:-:: +familienabc.dk-:familienabc.dk:512:507:/home/vpopmail/domains/familienabc.dk:-:: Det ønskede output af scriptet er således: familien-abc.dk ---> /home/vpopmail/domains/familienabc.dk familienabc.dk ---> /home/vpopmail/domains/familienabc.dk Men med ovenstående script får jeg familien familienabc.dk ---> /home/vpopmail/domains/familienabc.dk Problemet er nu at den første linie der fødes til scriptet ikke virker, da den indeholder bindestreg i domænenavnet. Nogen der kan hjælpe med at rette split til? Eller skal der evt. bruges reg.expressions?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
19. september 2003 - 14:26
#1
hvad med at splitte på ":" ? og så trimme for unødige tegn ?
19. september 2003 - 14:27
#2
@a = split ':|\+',$line; burde klare det. Men er der så problemer med "-"-er længere henne?
19. september 2003 - 14:29
#3
jeg tænker på noget i stil med @a = split ':',$line; $domain=$a[1]; $path=$a[6]; #tallene skal nok rettes. $domain =~ s/([1-9a-z.-]*)/($1)/; $path=~ s/([1-9a-z.-]*)/($1)/;
19. september 2003 - 14:30
#4
hov der skal ikke - med i reg.exp
19. september 2003 - 14:32
#5
sådan: $domain =~ s/([1-9a-z.]*)/$1/; $path=~s/([1-9a-z.]*)/$1/;
19. september 2003 - 14:33
#6
argh $path =~ s/([1-9a-z.\/]*)/$1/;
19. september 2003 - 14:33
#7
Nå ja, nu husker jeg hvorfor. Vi tog "-" for at undgå det irriterende "-" for enden af "familienabc.dk-". Du kunne også overveje, dank, om du ikke kunne få et bedre format på dine data ;))
19. september 2003 - 14:36
#8
hvis der altid er et "-" kan man måske klare det med en chop kommando ?
19. september 2003 - 15:09
#9
ups.. var lige væk.. jeg prøver lige de forskellige forslag. erikjacobsen> Ja.. Det er meningen der skal være et bedre format. Derfor skal samtlige domæner/emails læses konverteres til SQL. Det er faktisk dette scripts eneste formål. :)
19. september 2003 - 15:17
#10
Fik det til at virke.. opretter i sva?r
19. september 2003 - 15:18
#11
ok :-)
Kurser inden for grundlæggende programmering