Prev: Object Oriented Perl 6

Simple Point class

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

In Perl 6 we define classes with the "class" keyword. It can be used either as the first line of a files or infront of a block defining the class.

The has keyword is used to create attributes and the various twigils can be used to fine tune the meaning of those attributes.

Using dot (.) as the twigil will create a public attribute meaning it will automatically create and accessor for that attribute.

When a class is defined it automatically provides a constructor called new that can get a hash to set the attributes.

WHAT helps with introspection so we can ask what class does an object belong to.

By default the accessors are read only so you cannot assign to them.


use v6;

class Point {
    has $.x;
    has $.y;

my $a = => 23, y => 42);

say $a.WHAT;     # Point()

say $a.x;        # 23

#$a.x = 10;      # Exception: Cannot assign to readonly variable.

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: Object Oriented Perl 6


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: 2.3676601

Support my Perl 6 book!

I am writing a book on Web Application Development in Perl 6 and raising money via crowdfunding. Please support my effort!

Perl 6 Tricks and Treats newsletter

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