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 answers
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
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?
Popular Tags
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)
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.