Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re^2: Best Module Starter?

by Monk::Thomas (Beadle)
on Jun 20, 2013 at 09:46 UTC ( #1039929=note: print w/ replies, xml ) Need Help??


in reply to Re: Best Module Starter?
in thread Best Module Starter?

Thanks for the script. I changed it a bit. Here's my version. (Hopefully I didn't introduce a bug.)

#!/usr/bin/perl # # a simple module initializer using TemplateToolkit # original source: http://www.perlmonks.org/?node_id=649856 # - code rewritten a bit # - use Path::Class instead of File::Spec # - renamed 'Foo.pm' template file to Module.pm use Cwd; use Path::Class qw(file); my $template_dir = "~/.templates/modules/"; my $module = $ARGV[0] || prompt( "Module name> " ); (my $dist = $module) =~ s/::/-/g; # Foo::Bar::Baz -> Foo-Bar-Baz (my $base = $module) =~ s/.*:://; # Foo::Bar::Baz -> Baz my $file = $base . ".pm"; # Baz -> Baz.pm my $cwd = file(cwd(), $dist); # must contain ttree (provided through Template Toolkit) $ENV{PATH} = '/usr/local/bin:/usr/bin:/bin'; my @command = ( 'ttree', "-s $template_dir", "-d $cwd", "-define module='$module'", "-define module_file='$file'", "-define module_dist='$dist'", ); system join " ", @command; chdir $dist; rename file('lib', 'Module.pm'), file('lib', $file); sub prompt { print join "\n", @_; print "> "; my $line = <STDIN>; chomp $line; $line; }


Comment on Re^2: Best Module Starter?
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1039929]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (6)
As of 2014-09-21 05:39 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (166 votes), past polls