in reply to Re: Shorten one liners with Class::Autouse
in thread Shorten one liners with Class::Autouse

It depends on the module, if Foo::Bar exports a procedural interface by default then it won't shorten anything. If it optionally exports functions then you have to type them in the export list (-MFoo::Bar=blah,asdf) in addition to the code.

Dev::Bollocks doesn't export anything so you'd need to repeat the module name:

perl -MDev::Bollocks -le 'print Dev::Bollocks->rand()' perll -le 'print Dev::Bollocks->rand()'
I often use one liners like this to test drive a module, sometimes to filter things (eg. with Email::Valid). I expect that the -MSome::Long::Name -e '$s=Some::Long::Name->new()' type scripts will shrink nicely.

BTW, I've only just started using this alias so I don't have a much of feel for it yet...