ohjeita web-sivuston tekijälle
Seuraava ohjelma lukee tiedoston riveistä koostuvaan taulukkoon.
#!/usr/local/bin/perl $file = '/etc/passwd'; # tiedoston nimi open(INFO, $file); # avaa tiedostokahvan @lines = <INFO>; # lukee tiedoston taulukkoon close(INFO); # sulkee tiedostokahvan print @lines; # tulostaa taulukon
Open-funktio avaa tiedoston luettavaksi. Ensimmäinen parametri on nk. tiedostokahva (filehandle) mikä sallii Perlin viitata tiedostoon vastaisuudessa. Toinen parametri on tiedostonimi. Mikäli tiedoston nimi annetaan lainausmerkeissä, se otetaan kirjaimellisesti ilman shell-laajennuksia. Täten '~/notes/todolist' ei toimi. Jos haluaa pakottaa shell-laajennukset tulee käyttää kulmassulkeita, siis <~/notes/todolist>.
Close-funktio käskee Perlin lopettaa tiedoston käsittely sulkemalla tiedostokahvan.
Open-lauseke voi myös määrittää tiedoston tulostettavaksi tai liitettäväksi yhtä hyvin kuin luettavaksi. Tätä varten liitä tiedoston nimen alkuun > tulostettavaksi ja >> liitettäväksi:
open(INFO, $file); avaa luettavaksi open(INFO, "<$file"); avaa luettavaksi open(INFO, ">$file"); avaa tulostettavaksi open(INFO, ">>$file"); avaa liitettäväksi
Mikäli halutaan kirjoittaa jotain tiedostoon, joka on jo avattuna tulostettavaksi voidaan käyttää print-funktiota erikoisparametrilla. Tulostaaksesi merkkijonon tiedostoon, jonka tiedostokahva on INFO kirjoita:
print INFO "This line goes to the file.\n";
Seuraava avaa standardin syötteen (standard input, STDIN, yleensä näppäimistö) ja yleisen tulostuksen (standard output, STDOUT, yleensä kuvarutu):
open(INFO, '-');"); avaa standard input: n open(INFO, '>-');"); avaa standard output: n
Yllä olevassa esimerkissä informaatio luetaan tiedostosta. Tiedoston sisältö on tiedostokahvassa INFO ja sen lukemiseen Perl käyttää kulmasulkeita, joten lauseke:
@lines = <INFO>;
lukee tiedostokahvan ilmoittaman tiedoston sisällön taulukkoon @lines. <INFO> lukee koko tiedoston sisällön yhdellä kertaa. Jos taulukko @lines korvataan skalaarilla $lines, ainoastaan seuraava rivi luettaisiin. Molemmissa tapauksissa jokainen rivi talletetaan kokonaisena rivinvaihtomerkkeineen.
Seuraava sivu: Ohjainrakenteet.
Ei kommentteja