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