Toby Inkster > Module-Quote-0.002 > Module::Quote

Download:
Module-Quote-0.002.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 0.002   Source  

NAME ^

Module::Quote - a quote-like operator that requires modules for you

SYNOPSIS ^

        use Test::More tests => 1;
        use Module::Quote;
        
        my $number = qm( Math::BigInt 1.00 )->new(42);
        
        isa_ok $number, "Math::BigInt";

DESCRIPTION ^

The qm() quote-like operator will load a module and return its name. So the following should just work, even if you haven't used Math::BigInt in advance.

        qm( Math::BigInt 1.00 )->new(42)

The more usual invocation:

        Math::BigInt->new(42)

won't automatically load Math::BigInt, won't check a version number, and crucially is ambiguous! (See what happens when you define a sub called BigInt in the Math package.)

The qm operator interpolates variables, so this works too:

        my $x = "BigInt 1.00";
        qm( Math::$x )->new(42);

You may export qm with an alternative name:

        use Module::Quote 'qmod';

You may provide a hashref of options for the quote-like operator:

        use Module::Quote qm => { emulate => 'q' };

You can export the operator multiple times with different options:

        use Module::Quote
                qm  => { emulate => 'q' },
                qqm => { emulate => 'qq' },
        ;

The optimistic and prefix options from Module::Hash are supported. As is emulate which can be set to "qq" (the default) or "q" (to disable interpolation).

BUGS ^

Please report any bugs to http://rt.cpan.org/Dist/Display.html?Queue=Module-Quote.

SEE ALSO ^

Module::Hash - similar idea, but less magic.

AUTHOR ^

Toby Inkster <tobyink@cpan.org>.

COPYRIGHT AND LICENCE ^

This software is copyright (c) 2012 by Toby Inkster.

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

DISCLAIMER OF WARRANTIES ^

THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.

syntax highlighting: