Avatar billede triple-x Nybegynder
04. august 2005 - 19:59 Der er 7 kommentarer og
1 løsning

gemme til txt

Hey Eksperter

Jeg sidder lidt og knokler med noget perl/cgi og vil høre om i kan hjælpe mig.

Jeg har nogle forms, som jeg henter data udfra ind i variabler, derefter skal den gemme det i en txt fil, så jeg kan hente det ud på en anden side.

Men jeg har problemer med at få det til at virke,

lad os sige jeg har disse 3 variabler

$sitename
$siteurl
$desc

alle 3 henter info fra 3 forms som brugerne indtaster og trykker send.


Jeg er helt ny i PERL verdenen, og min viden kommer hovedsageligt fra bøger på nettet, så har ikke særlig meget praktisk erfaring, så derfor forklar det gerne nøje, istedet for bare at give mig resultatet.


for at opsumere, hvordan får jeg den til at gemme mine informationer ned i en txt fil?

På forhånd tak
Avatar billede mfalck Praktikant
04. august 2005 - 20:08 #1
use FileHandle;

  my $gh = new FileHandle "> counter.new";
  flock($gh,LOCK_EX); #kan udelades
  print $gh "$sitename $siteurl $desc\n";
  flock ($gh,LOCK_UN); #udelades hvis den er låst
Avatar billede mfalck Praktikant
04. august 2005 - 20:09 #2
couter.new - det var lige det filnavn jeg havde i min fil .. kan naturligvis erstattes :-)
Avatar billede triple-x Nybegynder
04. august 2005 - 20:15 #3
øøh ja øøh :D

Lad mig lige se om jeg har forstået korrekt,

variablen $gh er til at samle dem med? som så gemmer alt i denne variable i filen counter.new?

de to flock hvad gør de præcist?

Som sagt jeg er meget ny så jeg skal ha det penslet ud og banket ind

tusind tak for din hurtige hjælp, det værdsættes utrolig meget
Avatar billede mfalck Praktikant
04. august 2005 - 20:18 #4
$gh (eller $fh bruges mest - jeg tror at jeg havde to referencer til filehandles i det program) er referencen til filen (Filehandlet)

flock er til at låse filerne med - det er primært en unix-funktionalitet som forhindrer andre i at skrive i filen. Jeg fik mig formuleret forkert i det oprindelige svar - hvis du bruger flock til at låse filen med så skal du også bruge flock til at låse op med igen. Du skal kun bruge disse to hvis der er en chance for at andre prøver at skrive i filen samtidigt med dig - ellers bare undlad at låse filen.
Avatar billede mfalck Praktikant
04. august 2005 - 20:20 #5
use FileHandle;
          my $fh = new FileHandle "> fil.txt";
          if (defined $fh) {
              print $fh "$sitename $siteurl $desc \n";
              $fh->close;
          }

er vist lidt pænere :-)

ellers kan du også perldoc'e FileHandle
Avatar billede triple-x Nybegynder
04. august 2005 - 20:23 #6
okay nu tror jeg at jeg forstår det, så behøver flock ikke at bruges i dette tilfælde, jeg leger lidt med det, og vender højst sandsynlig tilbage for mere hjælp, så smid et svar og få de første point.
Avatar billede mfalck Praktikant
04. august 2005 - 20:24 #7
:-)
Avatar billede triple-x Nybegynder
04. august 2005 - 20:26 #8
mange tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester