> For the complete documentation index, see [llms.txt](https://trizen.gitbook.io/perl6-rosettacode/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://trizen.gitbook.io/perl6-rosettacode/programming_tasks/i/include_a_file.md).

# Include a file

Raku provides a module system that is based primarily on importation of symbols rather than on inclusion of textual code:

```perl
use MyModule;
```

However, one can evaluate code from a file:

```perl
require 'myfile.p6';
```

One can even do that at compile time:

```perl
BEGIN require 'myfile.p6'
```

None of these are true inclusion, unless the `require` cheats and modifies the current input string of the parser. To get a true textual inclusion, one could define an unhygienic textual macro like this:

```perl
macro include(AST $file) { slurp $file.eval }
include('myfile.p6');
```
