[perl] Hij pakt maar 1 regel

Pagina: 1
Acties:

  • MeneerKrab
  • Registratie: Augustus 2000
  • Laatst online: 29-06 07:05
Onderstaande code pakt maar 1 regel uit het hele domeinen.txt
hier staat onder andere (voorbeeldje)
12345 tweakers.net
12346 bastiaan.be

Het programma leest alle domeinnamen en nummers is een array @domein.
Deze namen moet hij gaan vergelijken in een database op from mail en to mail. Is er zo'n domein gevonden dan moet hij het veld domeinnummer gaan updaten met het domeinnr uit het tekstbestand.
Ergens gaat het fout, want hij pakt maar 1 regel.
code:
1
2
3
4
5
6
7
8
9
10
11
12
open(IN, 'domeinen.txt') or die('Error opening domein.txt');

while ($line = <IN>)
{
 chop($line);
 
 @domein = split (/\t/, $line);
 
 #print "$domein[0]\n"; 
 $sql="UPDATE maillog SET domeinnummer = $domein[0] WHERE frommail LIKE '%$domein[1]' or tomail like '%$domein[1]'";
 $dbh->ct_sql($sql);
}

een collega zei dat dit voldoende moest zijn, niet dus :(

  • 2
  • Registratie: November 2000
  • Laatst online: 31-03 13:52

2

en zo?
code:
1
2
3
4
5
6
7
8
9
10
11
open(IN,"domeinen.txt");
 
while(<IN>) {
 
  chop($_);
 
  @domein = split (/\t/, $_);
 
  # etc.
 
}

Volgens mij doet hij nu namelijk je hele bestand in een string stoppen ipv het als een array te zien.

  • MeneerKrab
  • Registratie: Augustus 2000
  • Laatst online: 29-06 07:05
Unrecognized character \312 at ./domein.pl line 10.

  • 2
  • Registratie: November 2000
  • Laatst online: 31-03 13:52

2

eh

en wat is regel 10 dan?

  • MeneerKrab
  • Registratie: Augustus 2000
  • Laatst online: 29-06 07:05
while(<IN>) {

  • 2
  • Registratie: November 2000
  • Laatst online: 31-03 13:52

2

Nou hier werkt het goed dus ik vermoed dat er iets anders niet ok is aan je scriptje. .. .?

Is het groot? Kun je het in zijn geheel posten?

  • MeneerKrab
  • Registratie: Augustus 2000
  • Laatst online: 29-06 07:05
laat maar hij doet het al
Pagina: 1