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::Magpie - steals shiny things


 use Acme::Magpie;
 # oh no, some of the shiny methods have gone away

 no Acme::Magpie;
 # phew, they're back now


The Magpie is a bird known for stealing shiny things to build its nest from, Acme::Magpie attempts to be a software emulation of this behaviour.

When invoked Acme::Magpie scans the symbol tables of your program and stores attractive (shiny) methods in the %Acme::Magpie::Nest hash.

Shinyness is determined by the return value of the shiny method this can be redefined by child classes:

 package Acme::Magpie::l33t;
 use strict;
 use base qw(Acme::Magpie);

 sub shiny {
     local ($_) = $_[1] =~ /.*::(.*)/;
     return tr/[0-9]// > tr/[a-z][A-Z]//;

This magpie considers identifiers with more numbers than letters as shiny. The code is installed with this distribution.


Acme::Magpie will cause most of the code you use it in to die because the subroutines it tries to execute just won't be there. This is considered a feature.


Richard Clamp <>, original idea by Tom Hukins


       Copyright (C) 2002 Richard Clamp.
       All Rights Reserved.

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