Skip to Content
Perl 6 Deep Dive
book

Perl 6 Deep Dive

by Andrew Shitov
September 2017
Beginner
402 pages
9h 52m
English
Packt Publishing
Content preview from Perl 6 Deep Dive

Lazy readers

The IO::Handle class defines a few methods for lazy reading. The laziness here means that Perl 6 should perform actual reading when the program really needs another portion of data. So it should not read the whole file immediately.

The lines method returns a list of lines. Here is an example of a short program that copies its input to the output:

.say for lines;

This can be re-written in a different form with a more traditional syntax:

for $*IN.lines -> $line {
    say $line;
}

The call of $*IN.lines returns an array of the lines from input. We can directly save it in a variable, for example, and use it for printing:

my @lines = $*IN.lines;
.say for @lines;

An important thing is that the lines method removes the new line characters ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Perl Hacks

Perl Hacks

Chromatic, Damian Conway, Curtis Ovid Poe, Curtis (Ovid) Poe
Learning Perl 6

Learning Perl 6

brian d foy
Think Perl 6

Think Perl 6

Laurent Rosenfeld, Allen B. Downey
Pro Perl

Pro Perl

Peter Wainwright

Publisher Resources

ISBN: 9781787282049Supplemental Content