http://qs321.pair.com?node_id=844704

rir has asked for the wisdom of the Perl Monks concerning the following question:

update: corrected misspelling of supersede to avoid propagating the error.

I can't find the syntax to make supercede supersede work.

sub asub ( $ace, $deuce?, $trey? ) { say "$ace $deuce $trey"; } use Test; supersede sub asub( $ace, $deuce?, $trey? ) { # XXX die "asub"; } my $derr; try { asub( 1, 2, 3); CATCH { $derr = $!; } } ok( $derr eq "asub", "asub died" );
Be well,
rir

Replies are listed 'Best First'.
Re: P6: how to supersede
by moritz (Cardinal) on Jun 14, 2010 at 19:29 UTC
    It helps if you spell it right :-)
    $ ./perl6 -e 'supersede sub a { }' ===SORRY!=== "supersede" not yet implemented at line 1, near " sub a { }"

    ... for some value of "helps".

    What works today is hiding outer sub in an inner lexical scope:

    sub asub ( $ace, $deuce?, $trey? ) { say "$ace $deuce $trey"; } use Test; plan 1; { sub asub( $ace, $deuce?, $trey? ) { 'asub' }; is asub(1), 'asub', 'lexically hiding works'; }
    Perl 6 - links to (nearly) everything that is Perl 6.
      If you secede on spelling "supersede", you cede success and seed duress, successively and successfully.
      It helps if you spell it right :-)

      Well, um, um, ah, yes. Good point, thanks and for the work around.

      It is nice to see improved error messages in the pipe.

      Be well,
      rir