[ njujorker @ 14.09.2003. 08:54 ] @
Kako da insertujem sadrzaj jednog .txt fajla u html. naime tekst ima sledeci format

Broj|Datum|Naslov|Clanak

Ja treba samo da ubacim u htlml |Naslov| koji bi bio linkovan na fiksnu stranicu.

Je li to moguce odraditi?
[ DownBload @ 14.09.2003. 10:44 ] @
Naravno da je moguce.
Znaci to bi bilo otprilike ovako:

Code:


open (FD,"ime.txt");
while ($line = <FD>)
{
 chop $line;
 ($broj, $datum, $naslov, $clanak) = split (/|/, $line);
 print "<a href = \"$naslov\">$naslov</a">"; 
}
close (FD);


Kod nije isproban, ovo je samo primjer.

Pozdrav...
[ njujorker @ 14.09.2003. 16:04 ] @
hm..

kada snimim ovaj kod kao naslov.cgi i uploadujem na server, pri pokretanju dobijam "500 internal server error"

zamenuo sam putanju do teksta: ime.txt -> data/news.dat

Code:

open (FD,"data/news.dat");
while ($line = <FD>)
{
 chop $line;
 ($broj, $datum, $naslov, $clanak) = split (/|/, $line);
 print "<a href = \"$naslov\">$naslov</a">"; 
}
close (FD);


ja sam ovaj mali cgi hteo da insertujem u html.

[ DownBload @ 14.09.2003. 18:59 ] @
Citat:

Kod nije isproban, ovo je samo primjer.



Mislim, osnovni koncept je ispravan, ali treba jos prije poslati klijentu i header:
print "Content-type: text/html\n\n";
[ MrYoo @ 15.09.2003. 09:54 ] @

Ovo fali na pocetku znaci provo stavis

Code:

#!/usr/bin/perl
print "Content-type: text/html\n\n";



pa onda ostatak stim sto onaj kod gore ima gresku i to vise njih



Code:


umesto

print "<a href = \"$naslov\">$naslov</a">"; 


treba

print "<a href=$naslov>$naslov</a>"; 





Za one koje nisu videligreske su

1) ako kod print koristis obican znak navoda " onda ne mozes koristiti nekoliko puta u tekstu

2) kod ispisa HTML-a nije uopste potrebno stavljati znak navoda znaci moze i
Code:


href=mika.html
<div align=center>

itd...


3) kod zatvaranja taga </a> nikada se ne stavlja znak navoda u kodu pise </a"> a treba </a>.



Pozdrav.
[ DownBload @ 15.09.2003. 10:00 ] @
Taj kod sam pisao tako on-fly, pa mi je taj " prilikom zatvaranja <a> taga pobjegao.
A <a> tag moze sa ili bez navodnika, svejedno je.
[ njujorker @ 16.09.2003. 09:09 ] @
skript sada radi ali ne i pravilno evo i njegovog rezultata:

http://www.sremskakamenica.org.yu/ucgi-bin/naslov.cgi
[ MrYoo @ 16.09.2003. 15:23 ] @

Ajde posto niko nece evo ja cu

imas txt file koji drzi podatke "data.txt"
u njemu samo jedan red koji je tipa Broj|Datum|Naslov|Clanak
ako file data.txt sadrzi vise redova potrebne su manje izmene koda da bi ispisao bas onaj red koji ti hoces ili da ih ispise sve. znaci kada procita Naslov link ide na stranicu Naslov.html pa da krenem

Code:


#!/usr/bin/perl

open LOG, "<data.txt";
$data=<LOG>;
close LOG;

@data = split /|/, $data;

print "Content-type: text/html\n\n";

print '<a href=${data[2]}.html>$data[2]</a>';



Ovo ti je naj prostije resenje koje govori samo za sebe ako ti treba nesto drugacije ti napisi pa ce moda uradimo. A da nisam napomenuo da skripta i naslov.html trebaju ba budu u istom dir-u ako to nije slucaj kod tebe onda samo kod href promenis putanju.

Pozdrav.
[ mpapec @ 16.09.2003. 18:28 ] @
Citat:
MrYoo:
@data = split /|/, $data;
print '<a href=${data[2]}.html>$data[2]</a>';

[/code]


Ispravno je,
@data = split /\|/, $data;
print "<a href=${data[2]}.html>$data[2]</a>";

i nema potrebe za ${data[2]} jer $data[2] je isto i radi svoj posao.

pozdrav

[ njujorker @ 16.09.2003. 20:27 ] @
HVALA svima, jako puno, najiskrenije! Skript savrseno radi.
Evo ga dole:

http://www.sremskakamenica.org.yu/ucgi-bin/naslov.cgi
[ MrYoo @ 17.09.2003. 10:15 ] @
Citat:
mpapec:
Citat:
MrYoo:
@data = split /|/, $data;
print '<a href=${data[2]}.html>$data[2]</a>';

[/code]


Ispravno je,
@data = split /\|/, $data;
print "<a href=${data[2]}.html>$data[2]</a>";

i nema potrebe za ${data[2]} jer $data[2] je isto i radi svoj posao.

pozdrav



Mora da ima zagrade jer promenljiva sadrzi ime file-a bez ekstenzije a ako nebi bilo zagrada onda bi kompajler shvatio ekstenziju kao ime promenljive.

Pozdrav
[ mpapec @ 17.09.2003. 21:03 ] @
Citat:
MrYoo:
Mora da ima zagrade jer promenljiva sadrzi ime file-a bez ekstenzije a ako nebi bilo zagrada onda bi kompajler shvatio ekstenziju kao ime promenljive.


Ne bas, koju verziju perla imas? Obicno kad je u nastavku varijable znak \w klase onda trebaju viticaste zagrade.

pozdrav

[ MrYoo @ 19.09.2003. 22:22 ] @

Vazno je da ceoveku kod radi i po tome se vidi sta je ispravno a sta nije.
[ mpapec @ 20.09.2003. 12:30 ] @
Citat:
MrYoo:

Vazno je da ceoveku kod radi i po tome se vidi sta je ispravno a sta nije.


Ma naravno, ja sam samo komentirao tvoj post da bas moraju biti viticaste zagrade.

pozdrav