Re: A funny module that shortens one-liners - is it worth global namespace?

[email protected] ("Konstantin S. Uvarin")
Newsgroups perl.module-authors
Message-ID <CAJj2qWkjWc96H+KPpC8CTQ_kFJaiuLS_0g4tv_ZsP0K1SzmevQ@mail.gmail.com>
Hello everyone,

>  1perl -e '$x = My::Very::Long::Module->new( foo => 42 ); print $x->foo'

Good point. And there's also L module https://metacpan.org/pod/L which does
more or less what I propose. So I think this topic is covered. =)

On Tue, Jan 3, 2017 at 11:52 AM, Smylers <[email protected]> wrote:

> Konstantin S. Uvarin writes:
>
> > I've come up with idea or a module that shortens (mostly test)
> > one-liners.
> >
> > perl -we 'use My::Very::Long::Module; $x = My::Very::Long::Module->new(
> foo => 42 ); print $x->foo;'
> >
> > perl -Mnew=x=My::Very::Long::Module,foo,42 -we "print $x->foo;"
>
> Have you seen Class::Autouse? You can do:
>
>   perl -MClass::Autouse=:superloader -we '$x =
> My::Very::Long::Module->new( foo => 42 ); print $x->foo'
>
> You still have to type ->new, but don't need to repeat the module name.
>
> > However, I'm still unsure if the fun is worth putting into global
> > namespace, and module name HAS to be short, otherwise it kills the
> > idea.
>
> It only has to be short if you expect it to be typed by hand. I have
> ~/bin/1perl defined as:
>
>   #! /bin/sh
>   perl -w -MClass::Autouse=:superloader "$@"
>
> Then for a one-liner where I want classes to load themselves, I use
> 1perl (which I can type as 1 Tab) rather than perl:
>
>   1perl -e '$x = My::Very::Long::Module->new( foo => 42 ); print $x->foo'
>
> Could you do something similar? That is, give your module a meaningful —
> and therefore longer — name, and include in your distribution a script
> which uses it (similarly to how the Image::Size module comes with the
> imgsize program). Then when you want a quick one-liner that creates
> objects like this, use that script in place of perl.
>
> Smylers
> --
> http://twitter.com/Smylers2
>



-- 
Konstantin S. Uvarin
jabber: see <from>
skype: kuvarin
http://github.com/dallaylaen
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.