/ Forside / Teknologi / Udvikling / Perl / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Perl
#NavnPoint
bjarneA 141
poul_from 50
soccer 30
Nicknack 14
Tmpj 0
Sort
Fra : Claus


Dato : 04-07-01 09:32

Hej

Jeg bruger nedenstående script til at lave html ud fra en data liste
Jeg har uden held forsøgt at bygge en sotering af filen på, inden den laver
list.txt
er den nogle som har et tip ?

#!/perl/bin/perl.exe

print "hilken fil ?";
chomp($filnavn = <STDIN>);
open (DENFIL, "$filnavn") || die "kan ikke aabne $filnavn: $!";
while (<DENFIL>){
chomp($_);
open(OUTF,">>liste.txt") or dienice("prøv om 2 sec.: $!");
print OUTF "<option value='$_'>$_</option>\n";
}



 
 
Peter Makholm (04-07-2001)
Kommentar
Fra : Peter Makholm


Dato : 04-07-01 09:29

"Claus" <descent@earthling.net> writes:

> er den nogle som har et tip ?

perldoc -f sort

Læs hele filen ind i et array, sorter dette og lad din løkke løbe
over dette array.

> while (<DENFIL>){
> chomp($_);
> open(OUTF,">>liste.txt") or dienice("prøv om 2 sec.: $!");
> print OUTF "<option value='$_'>$_</option>\n";
> }

Hvorfor i al verden åbner du OUTF i alle gennemløb. Hvorfor ikke bare
åbne den een gang uden for løkken?

--
Jeg svarede ikke på dit spørgsmål, vel?

Claus (04-07-2001)
Kommentar
Fra : Claus


Dato : 04-07-01 09:49


> perldoc -f sort
>
> Læs hele filen ind i et array, sorter dette og lad din løkke løbe
> over dette array.

Tak :)

>
> > while (<DENFIL>){
> > chomp($_);
> > open(OUTF,">>liste.txt") or dienice("prøv om 2 sec.: $!");
> > print OUTF "<option value='$_'>$_</option>\n";
> > }
>
> Hvorfor i al verden åbner du OUTF i alle gennemløb. Hvorfor ikke bare
> åbne den een gang uden for løkken?

Det er fordi jeg ikke er så skrap endnu, det tog mig enda noget tid at få
det script til at virke, men det virker da.

> Jeg svarede ikke på dit spørgsmål, vel?

Jo det må vel blive noget ala
while (@filensindhold)
som jeg skal starte ud fra ?

btw så fandt jeg dette eks.
'$file = $ARGV[0]; open FH, ">$file"; @data = <FH>; close FH; open FH,
"<$file"; print FH sort(@data);' liste.txt
som skulle være noget lign.

mvh Claus



Peter Makholm (04-07-2001)
Kommentar
Fra : Peter Makholm


Dato : 04-07-01 09:51

"Claus" <descent@earthling.net> writes:

> btw så fandt jeg dette eks.
> '$file = $ARGV[0]; open FH, ">$file"; @data = <FH>; close FH; open FH,
> "<$file"; print FH sort(@data);' liste.txt
> som skulle være noget lign.

Ja, men jeg kan ikke lige se hvordan du får sat dit html ind uden en
eller anden form for løkke. Men man kan selvfølgelig skjule den mere
eller mindre.


Personligt mener jeg at følgende er pænest, men jeg er også forelsket
i map:

#!/usr/bin/perl
open IFH, "<indfil.txt" or die;
open OFH, ">udfil.txt" or die;
print OFH map { "<option value='$_'>$_</option>" } sort(<IFH>);
close OFH;
close IFH;

--
Jeg svarede ikke på dit spørgsmål, vel?

Peter Makholm (04-07-2001)
Kommentar
Fra : Peter Makholm


Dato : 04-07-01 09:53

Peter Makholm <peter@makholm.net> writes:

> print OFH map { "<option value='$_'>$_</option>" } sort(<IFH>);

Der skal selvfølgelig lige chompes inde i map:

print OFH map { chomp; "<option value='$_'>$_</option>" } sort(<IFH>);

--
Jeg svarede ikke på dit spørgsmål, vel?

Claus (04-07-2001)
Kommentar
Fra : Claus


Dato : 04-07-01 10:45


> Jeg svarede ikke på dit spørgsmål, vel?

:) Det virker jo perfekt. Tak

- jeg kan godt se der er meget at lære

mvh Claus



Lars Balker Rasmusse~ (04-07-2001)
Kommentar
Fra : Lars Balker Rasmusse~


Dato : 04-07-01 10:37

"Claus" <descent@earthling.net> writes:
> btw så fandt jeg dette eks.
> '$file = $ARGV[0]; open FH, ">$file"; @data = <FH>; close FH; open FH,
> "<$file"; print FH sort(@data);' liste.txt
> som skulle være noget lign.

Skyd budbringeren.

Der er byttet om på < og >, så man tømmer filen i stedet for at
sortere den.
--
Lars Balker Rasmussen "Woo hoo!?"

Claus (05-07-2001)
Kommentar
Fra : Claus


Dato : 05-07-01 03:38


> Skyd budbringeren.

Nej for det var Peter M
http://www.kandu.dk/dk/news/33154/groupid/30806






Lars Balker Rasmusse~ (05-07-2001)
Kommentar
Fra : Lars Balker Rasmusse~


Dato : 05-07-01 07:49

"Claus" <descent@earthling.net> writes:
> > Skyd budbringeren.
>
> Nej for det var Peter M
> http://www.kandu.dk/dk/news/33154/groupid/30806

Peter, skyd dig selv :)
--
Lars Balker Rasmussen "Woo hoo!?"

Peter Makholm (05-07-2001)
Kommentar
Fra : Peter Makholm


Dato : 05-07-01 08:00

Lars Balker Rasmussen <lars@balker.org> writes:

> > http://www.kandu.dk/dk/news/33154/groupid/30806
>
> Peter, skyd dig selv :)

Jeg vil ikke dømmes af folk, der ikke kan give ordentlige messag-IDs,
anklagen frafaldes derfor!

--
Jeg svarede ikke på dit spørgsmål, vel?

Claus (06-07-2001)
Kommentar
Fra : Claus


Dato : 06-07-01 03:25


> Jeg vil ikke dømmes af folk, der ikke kan give ordentlige messag-IDs,
> anklagen frafaldes derfor!

Hvad er en ordentlig message-IDs, ?

mvh Claus



Peter Makholm (06-07-2001)
Kommentar
Fra : Peter Makholm


Dato : 06-07-01 07:14

"Claus" <descent@earthling.net> writes:

> Hvad er en ordentlig message-IDs, ?

Et message-ID identificeret et indlæg entydigt. Sålænge en newsserver
har et indlæg kan man få fat på indlæget ved at bruge message-ID'et
uden at vide andet om indlæget. Message-ID'et står i et indlægs headere.

--
Jeg svarede ikke på dit spørgsmål, vel?

Søg
Reklame
Statistik
Spørgsmål : 177547
Tips : 31968
Nyheder : 719565
Indlæg : 6408797
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste