Skip to content
Perl 6 interface to NCurses library
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples Remove 'use lib' from examples Oct 12, 2017
lib Attempt to find ncursesw if installed. Sep 6, 2017
logotype Switch to MIT License, update docs, switch to zef instead of deprecat… Apr 14, 2017
t More Perlish syntax in examples Apr 21, 2017
.gitignore Ignore precompiled artifacts Apr 4, 2016
.travis.yml [Travis CI] Bump to 2017.08 and fix build Sep 6, 2017
LICENSE Switch to MIT License, update docs, switch to zef instead of deprecat… Apr 14, 2017
META6.json Fix #17 and bump version to 0.6.3 (up from 0.6.2) Oct 12, 2017 add Apr 27, 2017

NCurses Build Status

NCurses provides a Perl 6 native interface to ncurses library.


use v6;
use NCurses;

# Initialize curses window
my $win = initscr() or die "Failed to initialize ncurses\n";

# Initialize colors
init_pair(1, COLOR_WHITE, COLOR_RED);
init_pair(2, COLOR_WHITE, COLOR_BLUE);

# Print Hello World
color_set(1, 0);
mvaddstr( 10, 10, " Hello world " );
color_set(2, 0);
mvaddstr( LINES() - 2, 2, "Press any key to exit..." );

# Refresh (this is needed)

# Wait for a keypress

# Cleanup
    delwin($win) if $win;

For more examples, please see the examples folder.


  • On Debian-based linux distributions, please use the following command:
$ sudo apt-get install libncurses5
  • On Mac OS X, please use the following command:
$ brew update
$ brew install ncurses
  • Using zef (a module management tool bundled with Rakudo Star):
$ zef install NCurses

Environment variables

The following environment variables can be used to specify the location of the different ncurses libraries:



  • To fix a broken or messed up terminal after a crash, please type reset to reset your terminal into its original state.


  • To run tests:
$ prove -ve "perl6 -Ilib"
  • To run all tests including author tests (Please make sure Test::Meta is installed):
$ zef install Test::META
$ AUTHOR_TESTING=1 prove -e "perl6 -Ilib"


Ahmad M. Zawawi, azawawi on #perl6,


MIT License

You can’t perform that action at this time.