Its not UNIVERSAL::require, its UNIVERSAL (which UNIVERSAL::require must
unfortunately load).

    use UNIVERSAL;
    use HTML::TokeParser qw(wibble);

HTML::TokeParser defines nor inherits any import routine.  When there's no
import, any arguments to use are ignored and any calls to Class->import are
ignored.

UNIVERSAL unfortunately imports import() from Exporter which means EVERYONE
has an import() routine.  Thus, boom.

There is a fix for this, something like changing UNIVERSAL::import to be...

    sub import {
        my($class) = shift;

        return unless $class eq 'UNIVERSAL';

        ...do the export...
    }

Reply via email to