sub bla { return ( LIST { (1, 2, 3) } BOOL { 1 } HASH { { foo => 17, bar => 23 } } ); } #### sub bli { if (want('LIST')) { return (1, 2, 3); } elsif (want('BOOL')) { rreturn 0; } elsif (want('HASH')) { rreturn { foo => 17, bar => 23 }; } return; # You have to put this at the end # to keep the compiler happy }