+# SUPER:: pseudoclass
+@Saab::ISA = "Souper";
+sub Souper::method { @_ }
+@OtherSaab::ISA = "OtherSouper";
+sub OtherSouper::method { "Isidore Ropen, Draft Manager" }
+{
+ my $o = bless [], "Saab";
+ package Saab;
+ my @ret = $o->SUPER::method('whatever');
+ ::is $ret[0], $o, 'object passed to SUPER::method';
+ ::is $ret[1], 'whatever', 'argument passed to SUPER::method';
+ @ret = $o->SUPER'method('whatever');
+ ::is $ret[0], $o, "object passed to SUPER'method";
+ ::is $ret[1], 'whatever', "argument passed to SUPER'method";
+ @ret = Saab->SUPER::method;
+ ::is $ret[0], 'Saab', "package name passed to SUPER::method";
+ @ret = OtherSaab->SUPER::method;
+ ::is $ret[0], 'OtherSaab',
+ "->SUPER::method uses current package, not invocant";
+}