1*b39c5158Smillert#! /usr/local/bin/perl -w
2*b39c5158Smillert
3*b39c5158Smillertuse 5.006;
4*b39c5158Smillertuse base Demo;
5*b39c5158Smillert
6*b39c5158Smillertmy $y : Demo :This($this) = sub : Demo(1,2,3) {};
7*b39c5158Smillertsub x : Demo(4, 5, 6) :Multi {}
8*b39c5158Smillertmy %z : Demo(hash) :Multi(method,maybe);
9*b39c5158Smillert# my %a : NDemo(hash);
10*b39c5158Smillert
11*b39c5158Smillert{
12*b39c5158Smillert	package Named;
13*b39c5158Smillert
14*b39c5158Smillert	use base Demo;
15*b39c5158Smillert
16*b39c5158Smillert	sub Demo :ATTR(SCALAR) { print STDERR "tada\n" }
17*b39c5158Smillert
18*b39c5158Smillert	my $y : Demo :This($this) = sub : Demo(1,2,3) {};
19*b39c5158Smillert	sub x : ExplMulti :Demo(4,5,6) {}
20*b39c5158Smillert	my %z : ExplMulti :Demo(hash);
21*b39c5158Smillert	my Named $q : Demo;
22*b39c5158Smillert}
23*b39c5158Smillert
24*b39c5158Smillertpackage Other;
25*b39c5158Smillert
26*b39c5158Smillertmy Demo $dother : Demo :This($this) = "okay";
27*b39c5158Smillertmy Named $nother : Demo :This($this) = "okay";
28*b39c5158Smillert
29*b39c5158Smillert# my $unnamed : Demo;
30*b39c5158Smillert
31*b39c5158Smillert# sub foo : Demo();
32