[ wwww @ 14.05.2003. 14:29 ] @
pozdrav narode

imam bazu tipa
|variabla1|variabla2|variabla3|
|bla|bla bla|bla blabla|

razumete na sta mislim...
ne znam kako da izmenim samo jedan red baze, znaci dana primer umesto variable2 upisem neku drugiu vrednost....

Unapred hvala
[ wwww @ 15.05.2003. 10:34 ] @
nemoguce da niko nenza....
Imam neke knjige za perl ali nigde nemogu da nadjem ovo sto mi treba...
mmolim vas pomozite mi...
[ MrYoo @ 17.05.2003. 21:06 ] @
Ma nemoj da se plasis ima neko ko zna samo su se ljudi malo smorili od pitanja koje postavljaju neki clanovi koje mrzi da razmisljaju a i ne citaju bas nista. Ali dosta ogovaranja pa da krenem.

Kada delis promenljive u istom redu mozda je bolje da koristis ":" nego "|" jer sam ja sa "|" imao lose iskustvo. E sada da bi nam bilo malo lakse i zanimljivije da radimo ajde da ubacimo zenska imena.

Baza je tipa

maja|ana|marija
milica|maja|danijela

E sada kako izglea algoritam

- Procitas celu bazu
- Pronadjes sta zelis da zamenis
- Zamenis isti
- Ponovo upises podatke u file iz koga si procitao

Code:


#Citanje baze

open LOG, "<baza.dat";
@baza = <LOG>;
close LOG;


Code:


#Pronalazenje i promena sadrzaja

for (0..$#baza) {

chomp;
@temp = split /:/, $baza[$_];

#Sada bi otprilike trebalo da znas sta zelis da promenis i na kojoj se to poziciji 
#nalazi recimo zelis da promenis ime "ana" imenom "anabela"

if ($temp[1] eq "ana") {
$temp[1] = "anabela";
@baza = join ":", @temp;
last;
}
}


Sada smo promenili sadrzaj sada je lako upisati isti u file

Code:


open LOG, ">baza.dat";
for (@baza) {
chomp;
print LOG "$_\n";
close LOG;





E sada ovo je najdnostavnije resenje i ovo radi pod uslovo ako znas sta menjas sa cime ga menjas i gde se to nalazi u bazi. Ako sve to ne znas onda u igru ulaze regular expressions, subroutines, ako zelis bas da napravis napredni program onda i references i tada se problem znatno komplikuje.