in reply to Re: Caching a default instance to avoid initializing it every time (with Moo)
in thread Caching a default instance to avoid initializing it every time (with Moo)

"...looks like a singleton...I don't know if Moo can do this..."

Probably this can be easily done with Role::Singleton by just saying with 'Role::Singleton';?

I never used this and stumbled over it by chance.

Best regards, Karl

«The Crux of the Biscuit is the Apostrophe»

perl -MCrypt::CBC -E 'say Crypt::CBC->new(-key=>'kgb',-cipher=>"Blowfish")->decrypt_hex($ENV{KARL});'Help

Replies are listed 'Best First'.
Re^3: Caching a default instance to avoid initializing it every time (with Moo)
by Eily (Monsignor) on Feb 09, 2018 at 10:52 UTC

    You'd still have to write a wrapper if you want a single interface to sometimes provide a new instance, sometimes the singleton. But I like that this interface leaves the choice to the caller, you can either have a new instance, regardless of input, or the singleton when you know it can work.

Re^3: Caching a default instance to avoid initializing it every time (with Moo)
by Dallaylaen (Chaplain) on Jul 01, 2018 at 11:22 UTC
    Ended up going that way in the end. Thanks!

      Nice to hear. Good things need a while (My best Denglish ever) 😎.

      Best regards, Karl

      «The Crux of the Biscuit is the Apostrophe»

      perl -MCrypt::CBC -E 'say Crypt::CBC->new(-key=>'kgb',-cipher=>"Blowfish")->decrypt_hex($ENV{KARL});'Help