Prev: die

Twigils and special variables

Note! This site is about Perl 6.
If you are looking for a solution for Perl 5, please check out the Perl 5 tutorial.

Perl 6 has a large set of special variables. In order to make it easy to differentiate them from regular variables, they are marked with a second prefix called twigil.

Regular, user defined variables have a sigil ($, @ or %) in front of them.

System variables have and additional character between the sigil and the name of the variable.


  • $*PROGRAM-NAME relative path to the currently running Perl 6 script.
  • $*PROGRAM full path to the currently running Perl 6 cript.
  • $*CWD contains a path to the current working directory.
  • $*IN is the standard input (STDIN). You can read a line using $*IN.get.
  • $*PID Process ID.
  • $*EXECUTABLE-NAME Relative path to the current binary. Most likely perl6.
  • $*EXECUTABLE Full path to perl6.
  • $*TMPDIR full path to the temp file directory.

You can read more about them in S28

The Perl 6 Tricks and Treats newsletter has been around for a while. If you are interested to get special notification when there is new content on this site, it is the best way to keep track:
Full name:
This is a newsletter temporarily running on my personal site ( using Mailman, till I implement an alternative system in Perl 6.
Gabor Szabo
Written by Gabor Szabo

Published on 2012-01-01

Prev: die


In the comments, please wrap your code snippets within <pre> </pre> tags and use spaces for indentation.
comments powered by Disqus
Suggest a change
Elapsed time: 3.811339671

Perl 6 Tricks and Treats newsletter

Register to the free newsletter now, and get updates and news.