The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


Acme::VerySign - make unused subroutines useful


  use Acme::VerySign;

  sub hello { "Hello World" }

  print helo();
  print "Did you mean: $_ ?" foreach @{ helo() }
  print helo();


After all is said and done, it's not actually that helpful that perl returns an error whenever it can't find a subroutine.

This module solves this. With new subfinder technology whenever perl can't call a subroutine it automatically returns a scalar that stringifies to "" instead!

But wait! There's more - due to our use of Symbol::Approx::Sub technology if you treat the scalar as an arrayref you can get the names of the subroutines we think you meant! You can even specify the way we do searching using Symbo::Approx::Sub semantics (i.e. we support the 'match' and 'xform' parameters.

  use Acme::VerySign xform => "Text::Metaphone";

Finally, you can use the "buy" method on the returned scalar and this module will install the first matching subroutine for you.


Written by Mark Fowler <>

Copyright Mark Fowler 2003. All Rights Reserved.

Most of the code in here is stolen from Symbol::Approx::Sub written by Dave Cross. That code copyright him, though the terrible joke was all my fault.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


The whole concept is flawed.

Bugs should be reported to me via the CPAN RT system.