How can I export a normal, non-OO subroutine from a Moose package? In a regular package, I'd do it with Exporter, @ISA and @EXPORT.
How can I export a subroutine from a Moose package?
112 Views Asked by Anna At
1
There are 1 best solutions below
Related Questions in PERL
- Perl Regex for converting query strings
- Cross compiling perl for Android ld.lld: error: unable to find library -lpthread
- Regexp to remove small numbers and leave large ones
- `df` command not capturing entire output in perl
- Webmin CentOS7 AWS backup errors - perl(S3::AWSAuthConnection) can't be installed
- How to ignore perm errors with Path::Tiny 'visit'? (Windows)
- Why does setting `*\` to a scalar (string) reference not result in auto printing
- Regex for deconstructing SQL where statement
- Random characters in DS record from Net::DNS:RR when calling print/string
- Perl with Selenium: cannot save the Web page with Ctrl+S
- openssl pbkdf2 and perl
- Strawberry Perl using a separate winlibs distro
- Perl / Undefined value as a HASH reference when running SNMP queries
- Timestamp with timezone: works with isql but not with DBD::Firebird
- Slurping a file ... syntax error - example from perldoc
Related Questions in MOOSE
- Disable warnings from base module + load Moose/Test2::V0
- How to make Moose attributes immutable?
- How to use Class:DBI with own constructors or OO-systems like Moo(se)?
- Moose Attribute Builder Calling own Class function
- Why is the "lazy_build" feature in Moose discouraged?
- Moose - Retain the original value of an attribute in a second attribute
- Perl Moose, How to initialize a instance attribute that is Hash
- Can I localize the hash reference in a Moose attribute via the accessor?
- How to inject role to Caller Module?
- Perl Moose Dynamic assign the value to attribute suggestion
- How to process the argument in a Moose attribute setter before setting?
- In Moose, how to specify constructor arguments for the superclass in a subclass?
- How can I export a subroutine from a Moose package?
- Adding CatalystX::I18N::Maketext to my DBIC schema
- Perl Moose attribute handles set method
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Moose is for building classes and roles. While you technically can also export functions, it's not necessarily the best idea.
Here's an example Moose class which also exports a function.
MyApp/Widget.pm
Here's how you might use it:
Note that even though
is_widgetwas intended an exportable function, it can also be called as a method! In this case, that's a feature rather than a bug, but often that will be an inconvenience.A better idea might be to create two separate packages: one for your class and one for your exportable functions.
MyApp/Widget.pm
MyApp/Util.pm
And you'd call use your packages like this:
Because the Moose class and the Exporter are now cleanly separated, you can no longer call
$w->is_widget— it's entirely a function and no longer a method.