En av Perl slagord er TIMTOWTDI ( uttales " tim smiske ") . Det er et akronym som står for «det er mer enn én måte å gjøre det." Akkurat som alt annet i Perl , er det mange måter å fange standard inngang . Blant dem er en snarvei for å lese alle linjene i en fil og gjør noe med dem individuelt . Siden dette er en felles aksjon i Unix filter -lignende programmer , er det brukt veldig ofte i Perl programmer. Instruksjoner
en
Bruk " vinkel " operatør. Perl har fire filehandles åpne som standard : . STDIN , STDOUT , stderr og DATA , hvorav STDIN er standard input håndtak, brukes til å fange standard inngang
2
Utnytte vinkel operatøren å lese en eneste linje fra filehandle gått til det, og enten lagre i standard $ _ variabel eller bruke den som høyre side av et oppdrag uttrykk . Den " vinkel " operator er en filehandle omgitt av mindre enn og større enn symboler , også referert til som " Vinkelparentesene . " " $ a = ; "
3
Bruk vinkelen operatør på en stund loop. Den vinkelbrakett Operatøren bør være det eneste i mens loop er boolsk uttrykk når du bruker vinkelbeslag på en stund loop. Hver gang mens loop kjøres, vil den lese en linje og tilordne den til $ _ operatør. Når det ikke er flere linjer til å lese, vil mens loop slutt : " while ( ) { chomp ; # Chomp $ _ variable print; # Print the $ _ variable }"
4
Tildel vinkel operatør til en liste . Tildeling av resultatene av den vinkel operatør til en Listen er som sier " lagre alle linjene i dette filehandle til denne listen. " Når du tilordner vinkelen operatør til en liste , er en annen snarvei utført som tilordner alle linjer med innspill til listen : " @ my_list = ; "
5
Les fra STDIN filehandle bruker read funksjon . Vinkelbraketten leser bare komplette linjer , og siden dette ikke kan være det du ønsker å gjøre, vil lese -funksjonen lar deg lese et beløp av bytes i en variabel. Det tar tre parametere: filehandle , variabelen for å lagre den i og antall byte for å lese. Følgende eksempel leser 10 byte inn $ buffer: "lese ( STDIN , $ buffer , 10), "