]> git.vpit.fr Git - perl/modules/Lexical-Types.git/blob - samples/basic.pl
This is 0.16
[perl/modules/Lexical-Types.git] / samples / basic.pl
1 #!perl
2
3 use strict;
4 use warnings;
5
6 use blib;
7
8 { package Str; }
9
10 {
11  package My::Types::Str;
12
13  sub new { bless { }, shift }
14 }
15
16 use Lexical::Types as => sub { 'My::Types::' . $_[0] => 'new' };
17
18 my Str $x; # $x is now a My::Types::Str object
19 print ref($x), "\n"; # My::Types::Str;
20
21 {
22  package My::Types::Int;
23
24  sub TYPEDSCALAR { bless { }, shift }
25 }
26
27 use Lexical::Types;
28
29 use constant Int => 'My::Types::Int';
30
31 my Int $y; # $y is now a My::Types::Int object
32 print ref($y), "\n"; # My::Types::Int;