マジック変数はPerl6の設定や環境変数、プラットフォームなどの情報が格納された変数です。使い方は通常の変数と同様です。マジック変数の区別として、?が付く変数はコンパイル時、*が付く変数は実行時に値が決まります。
$*OS現在プログラムを実行しているプラットフォーム名。darwin、linux、FreeBSD、MSWin32、mingw、msys、cygwin、browserなど。
$?OSプログラムがコンパイルされたプラットフォーム名。
%*ENV環境変数が格納されたハッシュ配列。
$?LINEプログラムの行番号。
$?FILEプログラムのファイル名。
&?BLOCKブロック内で有効。ブロック自身のリファレンス。
&?ROUTINEサブルーチン内で有効。サブルーチン自身のリファレンス。
&?ROUTINE.nameサブルーチン内で有効。サブルーチン自身の名前。