Et af Perls mottoer er TIMTOWTDI ( udtales " tim slesk "). Det er en forkortelse for " der er mere end én måde at gøre det på . " Ligesom alt andet i Perl , er der mange måder at fange standard input . Blandt dem er en genvej til at læse alle de linjer i en fil og gøre noget med dem individuelt. Da dette er en fælles indsats på Unix -filter -lignende programmer , er det brugt meget ofte i Perl programmer. Instruktioner
1
Brug " vinkel " operatør . Perl har fire filehandles åbne som standard : . STDIN , STDOUT , stderr og DATA , hvoraf STDIN er den standard input håndtaget , bruges til at indfange standard input
2
Udnyt den vinkel operatør til at læse en enkelt linje fra filehandle videre til det, og enten butik i standard $ _ variabel eller bruge den som den højre side af en opgave udtryk. Den " vinkel " operatør er en filehandle omgivet af mindre end og større end symboler, også kaldet " vinkelbeslag ". "$ a = ,"
3
vinklen operatør i en while-løkke . Den vinkelbeslag Operatøren bør være den eneste ting i mens løkken s boolean udtryk ved brug vinkelbeslag i en while-løkke . Hver gang , mens løkken er kørt, vil den læse en linje og tildele den til $ _ operatør. Når der ikke er flere linjer til at læse , vil samtidig løkken slutter : ", mens () { chomp , # Chomp de $ _ variable print , # Udskriv $ _ variable }"
4
Tildel vinkel operatør til en liste. Tildeling af resultaterne af den vinkel operatør til en liste er ligesom at sige " gemme alle linjerne i denne filehandle til denne liste. " Når du tildeler vinklen operatør til en liste, der er en anden genvej udføres der tildeler alle linjer input til listen: " @ my_list = ; "
5
Læs fra standardindtastningen filehandle vha. read -funktionen. Vinklen beslag læser kun komplette linjer , og da dette ikke kan være hvad du ønsker at gøre , vil aflæsningsfunktion så du kan læse et beløb af bytes i en variabel. Det tager tre parametre: filehandle , den variabel til at gemme den i og antallet af bytes til at læse . Følgende eksempel læser 10 bytes i $ buffer: "læs ( STDIN , $ buffer , 10), "