http://www.perlmonks.org?node_id=119486
Category: Utility Scripts
Author/Contact Info Rich Reuter Rich36
Description: A very simple script, but one that I use all the time. I find myself writing a lot of small Perl scripts and I find this to be a convenient method for getting started, saving a little time, and imposing a standard coding structure.

makeperl creates a new file, writes a standard format/template for a Perl script, changes the permissions to be executable, and opens the file in an editor.

I also use this a lot for when I'm trying out code examples from books, online, etc.

This has only been successfully tested on *nix, but should work elsewhere.

#!/usr/bin/perl -w

# makeperl
# Script to create a perl script with the permissions of 755 
# and open an editor

use strict;

if ((@ARGV != 1) || (-e $ARGV[0])) {
    die qq(Please specify the name of one new file to create\nmakeperl
+ <file_name>);
}

# Set up variables
my $file = $ARGV[0];
my $date = localtime();
my $user = (getpwuid($<))[6];


# Remove the time from the date
$date =~ s/\d{2}\:\d{2}:\d{2}\s//g;

open(FILE, ">$file");
print FILE <<EOT;
#!/usr/bin/perl -w


######################################################################
+###########
#
# $file 
# $date
# $user
#
# <Description of file>
#
######################################################################
+###########

#######################################################
# Setup variables and packages
#######################################################
use strict;




#######################################################
# MAIN
#######################################################




#######################################################
# Subroutines
#######################################################

######################################################################
+###########
# subName()
# <Description of Subroutine>
#
######################################################################
+###########


EOT
close FILE;
chmod (0755, $file);

# I usually open an emacs/xemacs editor for my file
# But you can configure this to whatever editor you use
exec("xemacs $file &");
#exec("vi $file &");