Term::Caca - Use libcaca (Colour AsCii Art library) API in Perl 6
Switch branches/tags
Nothing to show
Latest commit 54cb491 May 23, 2017 @azawawi Add missing hashbang


Terminal::Caca Build Status

Terminal::Caca - Use libcaca (Colour AsCii Art library) API in Perl 6

NOTE: The library is currently experimental. You have been warned :)

Normally you would use the safer object-oriented API via Terminal::Caca. If you need to access raw API for any reason, please use Terminal::Caca::Raw.


use v6;
use Terminal::Caca;

# Initialize library
given my $o = Terminal::Caca.new {
    # Set window title
    .title("Perl 6 rocks");

    # Say hello world
    my $text = ' Hello world, from Perl 6! ';
    .color(white, blue);
    .text(10, 10, $text);

    # Draw an ASCII-art box around it
    .thin-box(9, 9, $text.chars + 2, 3);

    # Refresh display

    # Wait for a key press event

    # Cleanup on scope exit
    LEAVE {

For more examples, please see the examples folder.


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


  • 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, https://github.com/azawawi/