Added programming functionality
Formatting changes to be in line with Perl best practices