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 fra Deloitte
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