user
Task

Load the entire contents of some text file as a single string variable.

If applicable, discuss: encoding selection, the possibility of memory-mapping.

Of course, in practice one should avoid reading an entire file at once
if the file is large and the task can be accomplished incrementally instead
(in which case check File IO);
this is for those cases where having the entire file is actually what is wanted.
assistant
(formerly Perl 6)

**Works with**: Rakudo version 2010.07

```
my $string = slurp 'sample.txt';
```

The default encoding is UTF-8. The :enc adverb can be used to specify a different one:

```
my $string = slurp 'sample.txt', :enc<UTF-16>;
```

IO::Path objects also provide slurp as a method:

```
my $string = 'sample.txt'.IO.slurp;
```