<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2523742513582506508</id><updated>2012-02-15T22:30:32.800-08:00</updated><category term='script'/><category term='GVIM'/><category term='BASH'/><category term='copying a remote database'/><category term='mysql'/><category term='shell'/><category term='plugin'/><category term='IDE'/><category term='paragkalra'/><category term='kalra'/><category term='parag'/><title type='text'>Discovering Coding !!!</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://discovercoding.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://discovercoding.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>21</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2523742513582506508.post-1369485470741867986</id><published>2011-08-29T18:16:00.000-07:00</published><updated>2011-08-29T18:21:17.055-07:00</updated><title type='text'>How to interpolate hashes in double quotes under Perl</title><content type='html'>&lt;span class="Apple-style-span" &gt;Just like we can interpolate scalar variables and arrays in double quotes, why can't we interpolate hashes in Perl.&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;I always had this question until one day I decided to find the solution and understand the reason.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;Reason: &lt;a href="http://dev.perl.org/perl6/rfc/237.html"&gt;http://dev.perl.org/perl6/rfc/237.html&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;Solution (silly): &lt;a href="https://github.com/paragkalra/my_scripts/blob/master/perl/hash_interpolation/hash_interpolation.pl"&gt;https://github.com/paragkalra/my_scripts/blob/master/perl/hash_interpolation/hash_interpolation.pl&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2523742513582506508-1369485470741867986?l=discovercoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discovercoding.blogspot.com/feeds/1369485470741867986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2523742513582506508&amp;postID=1369485470741867986' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/1369485470741867986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/1369485470741867986'/><link rel='alternate' type='text/html' href='http://discovercoding.blogspot.com/2011/08/how-to-interpolate-hashes-in-double.html' title='How to interpolate hashes in double quotes under Perl'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2523742513582506508.post-349875383059147297</id><published>2010-12-29T13:53:00.000-08:00</published><updated>2010-12-29T14:00:46.744-08:00</updated><title type='text'>Add Custom Header to scripts using vim</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;1. Create a template header: cat ~/.vim_header.pl&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;div&gt;:insert&lt;/div&gt;&lt;div&gt;#&lt;/div&gt;&lt;div&gt;# $Id: $&lt;/div&gt;&lt;div&gt;#&lt;/div&gt;&lt;div&gt;# Copyright (c) 2011 Parag Kalra&lt;/div&gt;&lt;div&gt;# All rights reserved.&lt;/div&gt;&lt;div&gt;#&lt;/div&gt;&lt;div&gt;## @script&lt;/div&gt;&lt;div&gt;##&lt;/div&gt;&lt;div&gt;## @summary&lt;/div&gt;&lt;div&gt;##&lt;/div&gt;&lt;div&gt;## @description&lt;/div&gt;&lt;div&gt;##&lt;/div&gt;&lt;div&gt;## @usage&lt;/div&gt;&lt;div&gt;##&lt;/div&gt;&lt;div&gt;## @synopsis&lt;/div&gt;&lt;div&gt;##&lt;/div&gt;&lt;div&gt;## @param&lt;/div&gt;&lt;div&gt;##&lt;/div&gt;&lt;div&gt;## @keywords&lt;/div&gt;&lt;div&gt;##&lt;/div&gt;&lt;div&gt;## @status review&lt;/div&gt;&lt;div&gt;##&lt;/div&gt;&lt;div&gt;## @author&lt;/div&gt;&lt;div&gt;##&lt;/div&gt;&lt;div&gt;## @creation-date&lt;/div&gt;&lt;div&gt;##&lt;/div&gt;&lt;div&gt;## @last-modified&lt;/div&gt;&lt;div&gt;##&lt;/div&gt;&lt;div&gt;## @burts&lt;/div&gt;&lt;div&gt;##&lt;/div&gt;&lt;div&gt;## see-also&lt;/div&gt;&lt;div&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;:insert should be present on first line and . should be present on last line&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2. Add following lines to ~/.vimrc&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;autocmd bufnewfile *.pl so ~/.vim_header.pl&lt;/div&gt;&lt;div&gt;autocmd bufnewfile *.pl exe "1," . 30 . "g/@script.*/s//@script " .expand("%")&lt;/div&gt;&lt;div&gt;autocmd bufnewfile *.pl exe "1," . 30 . "g/@creation-date/s//@creation-date " .strftime("%d-%m-%Y")&lt;/div&gt;&lt;div&gt;autocmd Bufwritepre,filewritepre *.pl execute "normal ma"&lt;/div&gt;&lt;div&gt;autocmd Bufwritepre,filewritepre *.pl exe "1," . 30 . "g/last-modified/s/last-modified .*/last-modified " .strftime("%c")&lt;/div&gt;&lt;div&gt;autocmd bufwritepost,filewritepost *.pl execute "normal `a"&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3. Now create a new file having .pl extension and see the magic.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Courtesy: &lt;a href="http://www.thegeekstuff.com/2008/12/vi-and-vim-autocommand-3-steps-to-add-custom-header-to-your-file/"&gt;http://www.thegeekstuff.com/2008/12/vi-and-vim-autocommand-3-steps-to-add-custom-header-to-your-file/&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2523742513582506508-349875383059147297?l=discovercoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discovercoding.blogspot.com/feeds/349875383059147297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2523742513582506508&amp;postID=349875383059147297' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/349875383059147297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/349875383059147297'/><link rel='alternate' type='text/html' href='http://discovercoding.blogspot.com/2010/12/add-custom-header-to-scripts-using-vim.html' title='Add Custom Header to scripts using vim'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2523742513582506508.post-6962348728049161014</id><published>2010-12-14T01:04:00.000-08:00</published><updated>2010-12-14T01:08:03.547-08:00</updated><title type='text'>Locking Hashes - How to Lock Hashes in Perl</title><content type='html'>&lt;div&gt;One drawback of hashes is that their keys are barewords which offer little typo protection (especially compared to the function and variable name protection offered by the strict pragma). The core module Hash::Util provides mechanisms to restrict the modification of a hash or the keys allowed in the hash.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For examples have a look at my sample scripts &lt;a href="https://github.com/paragkalra/my_scripts/tree/master/my_perl_scripts/hash_util"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2523742513582506508-6962348728049161014?l=discovercoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discovercoding.blogspot.com/feeds/6962348728049161014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2523742513582506508&amp;postID=6962348728049161014' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/6962348728049161014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/6962348728049161014'/><link rel='alternate' type='text/html' href='http://discovercoding.blogspot.com/2010/12/locking-hashes-how-to-lock-hashes-in.html' title='Locking Hashes - How to Lock Hashes in Perl'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2523742513582506508.post-8348534659991687104</id><published>2010-12-13T23:23:00.000-08:00</published><updated>2010-12-25T14:28:39.964-08:00</updated><title type='text'>How to find if a Perl module is installed on the System</title><content type='html'>Quick and Dirty way to find if a Perl module is installed on the System:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;perl -MModule_Name&lt;module_name&gt;&lt;module_name&gt;&lt;module::name&gt; -e 1&lt;/module::name&gt;&lt;/module_name&gt;&lt;/module_name&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;module::name&gt;&lt;br /&gt;&lt;/module::name&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2523742513582506508-8348534659991687104?l=discovercoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discovercoding.blogspot.com/feeds/8348534659991687104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2523742513582506508&amp;postID=8348534659991687104' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/8348534659991687104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/8348534659991687104'/><link rel='alternate' type='text/html' href='http://discovercoding.blogspot.com/2010/12/how-to-find-if-perl-module-is-installed.html' title='How to find if a Perl module is installed on the System'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2523742513582506508.post-674417726807058613</id><published>2010-01-18T11:33:00.000-08:00</published><updated>2010-01-18T11:40:33.089-08:00</updated><title type='text'>How to break from if - else in Perl</title><content type='html'>One of the ways to break from if - else in Perl is to use goto&lt;br /&gt;&lt;br /&gt;if ($num =~ /^\d+$/){&lt;br /&gt;   if($num == 13){&lt;br /&gt;       &lt;span style="font-weight: bold;"&gt;goto ENDOFIF;&lt;/span&gt;&lt;br /&gt;   }&lt;br /&gt;} else {&lt;br /&gt;   print "Number not found.\n";&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ENDOFIF:&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;So if the number is 13 then it will break from the if and place the control right at the end of outer if.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2523742513582506508-674417726807058613?l=discovercoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discovercoding.blogspot.com/feeds/674417726807058613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2523742513582506508&amp;postID=674417726807058613' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/674417726807058613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/674417726807058613'/><link rel='alternate' type='text/html' href='http://discovercoding.blogspot.com/2010/01/how-to-break-from-if-else-in-perl.html' title='How to break from if - else in Perl'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2523742513582506508.post-5956266280527622396</id><published>2010-01-10T06:40:00.001-08:00</published><updated>2010-01-10T06:42:09.216-08:00</updated><title type='text'>How to calculate the time of execution of a Perl script</title><content type='html'>Just add the following line any where in your Perl script and it will print its time of execution right at the end:&lt;br /&gt;&lt;br /&gt;# This calculates the time of execution of the Perl script.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;END {warn "\nTime of execution - ", time - $^T, " second(s)\n"}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2523742513582506508-5956266280527622396?l=discovercoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discovercoding.blogspot.com/feeds/5956266280527622396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2523742513582506508&amp;postID=5956266280527622396' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/5956266280527622396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/5956266280527622396'/><link rel='alternate' type='text/html' href='http://discovercoding.blogspot.com/2010/01/how-to-calculate-time-of-execution-of.html' title='How to calculate the time of execution of a Perl script'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2523742513582506508.post-3795451734957749126</id><published>2009-04-16T12:49:00.001-07:00</published><updated>2009-04-16T12:49:56.320-07:00</updated><title type='text'>Connecting to MySQL Database through PERL</title><content type='html'>&lt;span style="font-weight: bold;"&gt;FAQ:&lt;/span&gt; How to connect to MySQL database through PERL.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;SOLUTION:&lt;/span&gt;&lt;br /&gt;1.    Install MySQL database. MySQL community server comes free of cost and is distributed under GNU General Public License.&lt;br /&gt;&lt;br /&gt;2. I would instead recommend installing a package called WAMP server which provides MySQL community server, Apache server and PHP. It also provides many effective tools like PHPMyAdmin which can be used for database administration. Also WAMP server comes free of cost and is distributed under GNU General Public License.&lt;br /&gt;&lt;br /&gt;3.    To check if the MySQL server is running, execute:&lt;br /&gt;      telnet  &lt;ip-address&gt;  3306&lt;br /&gt;      E.G: # telnet  127.0.0.1  3306&lt;br /&gt;&lt;br /&gt;4. I would also recommend you to also install SQLYog. It is a very light and effective tool to monitor and manage MySQL database. Again it also comes free of cost and is distributed under GNU General Public License.&lt;br /&gt;&lt;br /&gt;5.    Create a database in MySQL, a non-root user and give it a password.&lt;br /&gt;&lt;br /&gt;6.    Install  ‘DBI’ perl module through ‘PPM’&lt;br /&gt;&lt;br /&gt;7.    Install  ‘DBD::Mysqlpp” perl module through ‘PPM’&lt;br /&gt;&lt;br /&gt;8. You are all set to connect to MySQL database. While connecting make sure that database is already created and you are connecting through a valid user and with correct credentials. To see a sample script execute following on command prompt:&lt;br /&gt;# perldoc DBD::Mysqlpp&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;REFERENCES:&lt;/span&gt;&lt;br /&gt;1.    http://dbi.perl.org/&lt;br /&gt;2.    # perldoc DBD::Mysqlpp&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;AUTHOR:&lt;/span&gt; Parag Kalra&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Email-ID:&lt;/span&gt; paragkalra@gmail.com&lt;br /&gt;&lt;br /&gt;&lt;/ip-address&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2523742513582506508-3795451734957749126?l=discovercoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discovercoding.blogspot.com/feeds/3795451734957749126/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2523742513582506508&amp;postID=3795451734957749126' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/3795451734957749126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/3795451734957749126'/><link rel='alternate' type='text/html' href='http://discovercoding.blogspot.com/2009/04/connecting-to-mysql-database-through.html' title='Connecting to MySQL Database through PERL'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2523742513582506508.post-2765779611500204902</id><published>2009-03-21T07:46:00.000-07:00</published><updated>2009-03-21T07:49:36.810-07:00</updated><title type='text'>Using Regular expressions in PERL - Script1</title><content type='html'>#!/usr/bin/perl &lt;br /&gt;#===============================================================================&lt;br /&gt;#&lt;br /&gt;#         FILE:  test2.pl&lt;br /&gt;#&lt;br /&gt;#        USAGE:  ./test2.pl  &lt;br /&gt;#&lt;br /&gt;#  DESCRIPTION:  Weekly Test2: The script has a paragraph defined at it's start. &lt;br /&gt;#                The script reads the each word of the paragraph and processes it&lt;br /&gt;#                to check following conditions:&lt;br /&gt;#                &lt;br /&gt;#                 1.  has an 'a'                   &lt;br /&gt;#                2.  starts with an 'a'              &lt;br /&gt;#                3.  has 'th'                      &lt;br /&gt;#                4.  has an 'a' or an 'A'         &lt;br /&gt;#                5.  has a '*' in it                &lt;br /&gt;#                 6.  starts with an 'a' or an 'A'  &lt;br /&gt;#                7.  has both 'a' and 'e' in it   &lt;br /&gt;#                8.  has an 'a' followed by an 'e' somewhere in it           &lt;br /&gt;#                9.  does not have an 'a'                     &lt;br /&gt;#                 10. does not have an 'a' nor 'e' &lt;br /&gt;#                11. has an 'a' but not 'e' &lt;br /&gt;#                12. has at least 2 consequtive vowels (a,e,i,o,u)&lt;br /&gt;#                13. has at least 3 vowels&lt;br /&gt;#                14. has at least 6 characters&lt;br /&gt;#                15. has at exactly 6 characters&lt;br /&gt;#                16. all the words with either 'aba' or 'ada' in them&lt;br /&gt;#                17. all the words with either 'aba' or 'eda' in them&lt;br /&gt;#                18. has a double character (e.g. 'oo')&lt;br /&gt;#                19. for every word print the first vowel&lt;br /&gt;#   &lt;br /&gt;#&lt;br /&gt;#      OPTIONS:  ---&lt;br /&gt;# REQUIREMENTS:  ---&lt;br /&gt;#         BUGS:  ---&lt;br /&gt;#        NOTES:  ---&lt;br /&gt;#       AUTHOR:  Parag Kalra, paragkalra@gmail.com&lt;br /&gt;#      COMPANY:  PERSISTENT SYSTEMS LTD, http://www.persistentsys.com/&lt;br /&gt;#      VERSION:  1.0&lt;br /&gt;#      CREATED:  3/19/2009 2:11:51 PM&lt;br /&gt;#     REVISION:  ---&lt;br /&gt;#===============================================================================&lt;br /&gt;&lt;br /&gt;use Acme::Comment;&lt;br /&gt;&lt;br /&gt;# Declaring the Paragraph&lt;br /&gt;$mypara="Finish each day and be done with it. You have done what you could. Some blunders and absurdities no doubt crept in; forget them as soon as you can. Tomorrow is a new day; begin it well, with no pre-conceived notions and with too high a spirit so as to be able to hold back your old stuff. India is great. I love star*star. Vowels combination: axxiyywwrroo arixeupoq abajan abaada adamant abacuss edaiot Apple MAP Axe Gooogle PEANUT PqRs AIm";&lt;br /&gt;&lt;br /&gt;# Spliting the string by space characater to store the words of the para into an array.&lt;br /&gt;@para_words=split /\s+/, $mypara;&lt;br /&gt;&lt;br /&gt;@vowels=qw/a e i o u/;&lt;br /&gt;&lt;br /&gt;#---------------------------------------------------------------------------&lt;br /&gt;#  Processing each word of the array with regular expressions.&lt;br /&gt;#---------------------------------------------------------------------------&lt;br /&gt;foreach ( @para_words ) {&lt;br /&gt;    #print "Processing: $_ \n";&lt;br /&gt;&lt;br /&gt;    # 1&lt;br /&gt;    # Words containing 'a' &lt;br /&gt;    if ( $_ =~ m{a+} ) {&lt;br /&gt;        push @words_with_a, $_;&lt;br /&gt;        &lt;br /&gt;        # Words containing 'a' but not 'e'&lt;br /&gt;        # As of now not working&lt;br /&gt;            #if ( $_ =~ m{[^e]} ) {&lt;br /&gt;            #push @words_having_a_not_e, $_;&lt;br /&gt;          #}&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;        &lt;br /&gt;    # 3&lt;br /&gt;    # Words having 'th'&lt;br /&gt;    if ( $_ =~ m{(th)+} ) {&lt;br /&gt;        push @words_with_th, $_;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    # 4&lt;br /&gt;    # Words having either 'a' or 'A'&lt;br /&gt;    if ( $_ =~ m{a+}i ) {&lt;br /&gt;        push @words_with_Aa, $_;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    # 5&lt;br /&gt;    # Words having star&lt;br /&gt;    if ( $_ =~ m{\*} ) {&lt;br /&gt;        push @words_with_star, $_;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    # 6&lt;br /&gt;    # Words starting with 'a' or 'A'    &lt;br /&gt;    if ( $_ =~ m{^a+}i ) {&lt;br /&gt;            &lt;br /&gt;        push @words_starting_with_Aa, $_;&lt;br /&gt;&lt;br /&gt;        # 2&lt;br /&gt;        # Words starting with 'a'&lt;br /&gt;        if ( $_ =~ m{^a+} ) {&lt;br /&gt;            push @words_starting_with_a, $_;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    # 7&lt;br /&gt;    # Words containing both 'a' and 'e' &lt;br /&gt;    if ( $_ =~ m{e+} &amp;amp;&amp;amp; $_ =~ m{a}) {&lt;br /&gt;            push @words_having_both_ae, $_;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    # 8&lt;br /&gt;    # Words in which 'a' is followed by 'e'&lt;br /&gt;    if ( $_ =~ m{(ea)+} ) {&lt;br /&gt;        push @words_having_a2e, $_;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    # 9&lt;br /&gt;    # Words which doesnot have 'a'&lt;br /&gt;    # As of now not working with carat&lt;br /&gt;    if ( $_ !~ m{a} ) {&lt;br /&gt;      push @words_without_a, $_;        &lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    # Multiline comment&lt;br /&gt;    /*&lt;br /&gt;    if ( $_ !~ m{a+} ) {&lt;br /&gt;        push @words_without_a, $_;&lt;br /&gt;&lt;br /&gt;        if ( $_ !~ m{e+} ) {&lt;br /&gt;            push @words_without_a_e, $_;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    */&lt;br /&gt;&lt;br /&gt;    # 10&lt;br /&gt;    # Words except 'a' and 'e'&lt;br /&gt;    if ( $_ !~ m{e+} &amp;amp;&amp;amp; $_ !~ m{a+} ) {&lt;br /&gt;&lt;br /&gt;            push @words_without_a_e, $_;&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;   &lt;br /&gt;    # 11&lt;br /&gt;    # Words having 'a' not having 'e'&lt;br /&gt;    if ( ($_ !~ m{e}) &amp;amp;&amp;amp; ($_ =~ m{a}) ) {&lt;br /&gt;            push  @words_having_a_not_e, $_;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;     &lt;br /&gt;    # 12&lt;br /&gt;    # Words having 2 consecutive vowels&lt;br /&gt;    $var=$_;&lt;br /&gt;    foreach ( @vowels ) {&lt;br /&gt;        $v=$_;&lt;br /&gt;        #print "Current vowel: $v";&lt;br /&gt;        &lt;br /&gt;        for ( $i=0; $i&lt;5 ; $i++ ) {&lt;br /&gt;            #print "$v$vowels[$i] \n";&lt;br /&gt;            #if ( $var =~ /(($v){1})($vowels[$i]{1})/ ) {&lt;br /&gt;&lt;br /&gt;            # Matching the pattern for consecutive vowels&lt;br /&gt;            if ( $var =~ /$v$vowels[$i]/i ) {&lt;br /&gt;                #print "$var \n";&lt;br /&gt;                push  @words_having_2_con_vowels, $var; &lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    # 13&lt;br /&gt;    # Words containing at least 3 vowels&lt;br /&gt;    if (tr/aeiouAEIOU/aeiouAEIOU/ &gt;= 3 ) {  &lt;br /&gt;        push @words_having_3_vowels, $_; &lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;    # Pattern for matching 3 vowels&lt;br /&gt;    #for ( $p=0; $p&lt;5 ; $p++ ) {&lt;br /&gt;    #for ( $q=0; $q&lt;5 ; $q++ ) {&lt;br /&gt;    #for ( $r=0; $r&lt;5 ; $r++ ) {&lt;br /&gt;    #if ( $var =~ /^(.*)($vowels[$p])(.*)$vowels[$q](.*)$vowels[$r](.*)$/ ) {&lt;br /&gt;                                    #if( grep $var, @words_having_3_vowels){&lt;br /&gt;                                    #push  @words_having_3_vowels, $var; &lt;br /&gt;                                                #}&lt;br /&gt;                                                #}&lt;br /&gt;                                                #}&lt;br /&gt;                                                #}&lt;br /&gt;                                                #}&lt;br /&gt;                                    &lt;br /&gt;                   &lt;br /&gt;    # Pattern for matching 3 consecutive vowels&lt;br /&gt;    # As of now under-construction &lt;br /&gt;    #if ( $_ =~ /[aeiou]{3,}/ ) {&lt;br /&gt;    #    push  @words_having_3_vowels, $_; &lt;br /&gt;    #}&lt;br /&gt; &lt;br /&gt;    # 14&lt;br /&gt;    # Words having at least 6 characters&lt;br /&gt;    if ( $_ =~ /(.){6,}/ ) {&lt;br /&gt;        push @words_with_atl_6_chs, $_;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    # 15&lt;br /&gt;    # Words having exactly 6 characters&lt;br /&gt;    # As of now not working for '-'&lt;br /&gt;    #if ( $_ =~ /\b(.){6}\b/ ) {&lt;br /&gt;    if ( $_ =~ /^(.){6}$/ ) {&lt;br /&gt;        push @words_with_6_chs, $_;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    # 16&lt;br /&gt;    # Words containing either 'aba' or 'ada'&lt;br /&gt;    if ( $_ =~ m{(aba)|(ada)}) {&lt;br /&gt;        push @aba_ada, $_;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    # 17&lt;br /&gt;    # Words containing either 'aba' or 'eda'&lt;br /&gt;    if ( $_ =~ m{(aba)|(eda)}) {&lt;br /&gt;        push @aba_eda, $_;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    # 18&lt;br /&gt;    # Words having identical adjoining characters&lt;br /&gt;    if ( $_ =~ /(.)\1/ ) {&lt;br /&gt;            push @words_with_2_chs, $_;&lt;br /&gt;    }&lt;br /&gt;      &lt;br /&gt;    &lt;br /&gt;    # 19&lt;br /&gt;    #---------------------------------------------------------------------------&lt;br /&gt;    # Printing the word and it's first vowel if at all it contains  &lt;br /&gt;    #---------------------------------------------------------------------------&lt;br /&gt;    $mystring = $_;&lt;br /&gt;    #@chars = map substr( $mystring, $_, 1), 0 .. length($mystring) -1;&lt;br /&gt;    @chars = unpack('a'x length($mystring), $mystring);&lt;br /&gt;&lt;br /&gt;    if($mystring !~ /[aeiou]/i){&lt;br /&gt;    print "'$mystring' has no vowel \n";    &lt;br /&gt;    } else { &lt;br /&gt;        foreach(@chars){&lt;br /&gt;            #print "$_ \n";&lt;br /&gt;            if($_ =~ /[aeiou]/i){&lt;br /&gt;                print "First vowel of '$mystring': $_ \n";    &lt;br /&gt;                last;&lt;br /&gt;            } &lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;print "\n";&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "Words containing 'a': @words_with_a \n"; &lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "\n";&lt;br /&gt;&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "Words starting with 'a': @words_starting_with_a \n";&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "\n";&lt;br /&gt;&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "Words containing 'th': @words_with_th \n";&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "\n";&lt;br /&gt;&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "Words containing either 'A' or 'a': @words_with_Aa \n";&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "\n";&lt;br /&gt;&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "Words containing star:  @words_with_star \n";&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "\n";&lt;br /&gt;&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "Words starting with 'A' or 'a': @words_starting_with_Aa \n";&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "\n";&lt;br /&gt;&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "Words containing both 'a' and 'e': @words_having_both_ae \n";&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "\n";&lt;br /&gt;&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "Words in which 'a' is followed by 'e': @words_having_a2e \n";&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "\n";&lt;br /&gt;&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "Words which doesn't have 'a': @words_without_a \n";&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "\n";&lt;br /&gt;&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "Words except 'a' and 'e':  @words_without_a_e\n";&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "\n";&lt;br /&gt;&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "Words having 'a' but not 'e': @words_having_a_not_e \n";&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "\n";&lt;br /&gt;&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "Words having 2 consecutive vowels: @words_having_2_con_vowels \n";&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "\n";&lt;br /&gt;&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "Words having at least 3 vowels: @words_having_3_vowels \n";&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "\n";&lt;br /&gt;&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "Words having at least 6 characters: @words_with_atl_6_chs \n";&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "\n";&lt;br /&gt;&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "Words having exactly 6 characters: @words_with_6_chs \n";&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "\n";&lt;br /&gt;&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "Words having 'aba' and 'ada': @aba_ada \n";&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "\n";&lt;br /&gt;&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "Words having 'aba' and 'eda': @aba_eda \n";&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "\n";&lt;br /&gt;&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "Words having 2 similar and adjoint characters: @words_with_2_chs\n";&lt;br /&gt;print "----------------------------------------------------------------------------------------------------------------------------------------\n";&lt;br /&gt;print "\n";&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2523742513582506508-2765779611500204902?l=discovercoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discovercoding.blogspot.com/feeds/2765779611500204902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2523742513582506508&amp;postID=2765779611500204902' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/2765779611500204902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/2765779611500204902'/><link rel='alternate' type='text/html' href='http://discovercoding.blogspot.com/2009/03/using-regular-expressions-in-perl.html' title='Using Regular expressions in PERL - Script1'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2523742513582506508.post-2613441059556769219</id><published>2009-02-11T05:43:00.000-08:00</published><updated>2009-02-11T05:51:56.267-08:00</updated><title type='text'>Script to ask the numbers from user as a input and return the numbers which are above average.</title><content type='html'>&lt;span style="font-size:130%;"&gt;#!/usr/bin/perl&lt;br /&gt;#===============================================================================&lt;br /&gt;#&lt;br /&gt;#         FILE:  above_avg.pl&lt;br /&gt;#&lt;br /&gt;#        USAGE:  perl above_avg.pl &lt;br /&gt;#&lt;br /&gt;#  DESCRIPTION:  Script to ask the numbers from user as a input and return the numbers which are above average.&lt;br /&gt;#&lt;br /&gt;#      OPTIONS:  ---&lt;br /&gt;# REQUIREMENTS:  ---&lt;br /&gt;#         BUGS:  ---&lt;br /&gt;#        NOTES:  ---&lt;br /&gt;#       AUTHOR:  Parag Kalra, paragkalra@gmail.com, www.paragkalra.com (),&lt;br /&gt;#      COMPANY:  As of now Persistent System LTD, www.persistentsys.com&lt;br /&gt;#      VERSION:  1.0&lt;br /&gt;#      CREATED:  Wednesday 11 February 2009 07:06:21  IST&lt;br /&gt;#     REVISION:  ---&lt;br /&gt;#===============================================================================&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;print "Please enter the numbers: \n";&lt;br /&gt;@nums=&lt;stdin&gt;;&lt;br /&gt;&lt;br /&gt;@more_avg=&amp;amp;above_avg(@nums);&lt;br /&gt;&lt;br /&gt;#===  FUNCTION  ================================================================&lt;br /&gt;#         NAME:  above_avg&lt;br /&gt;#      PURPOSE:  To calculate numbers above average&lt;br /&gt;#   PARAMETERS:  ????&lt;br /&gt;#      RETURNS:  ????&lt;br /&gt;#  DESCRIPTION:  ????&lt;br /&gt;#       THROWS:  no exceptions&lt;br /&gt;#     COMMENTS:  none&lt;br /&gt;#     SEE ALSO:  n/a&lt;br /&gt;#===============================================================================&lt;br /&gt;sub above_avg {&lt;br /&gt;&lt;br /&gt;    print "You have entered following numbers: \n ";&lt;br /&gt;    print "@_ \n";&lt;br /&gt;    $avg_value=&amp;amp;avg(@_);&lt;br /&gt;&lt;br /&gt;    print "Numbers greater than average - $mean are: \n";&lt;br /&gt;   &lt;br /&gt;    foreach  (@_) {&lt;br /&gt;        if ($_ &gt; $avg_value) {&lt;br /&gt;            #@return_more=(@return_more,$_);&lt;br /&gt;            push(@return_more,$_);&lt;br /&gt;           &lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;       &lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;    print " @return_more \n";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#===  FUNCTION  ================================================================&lt;br /&gt;#         NAME:  avg&lt;br /&gt;#      PURPOSE:  To calculate mean value&lt;br /&gt;#   PARAMETERS:  ????&lt;br /&gt;#      RETURNS:  ????&lt;br /&gt;#  DESCRIPTION:  ????&lt;br /&gt;#       THROWS:  no exceptions&lt;br /&gt;#     COMMENTS:  none&lt;br /&gt;#     SEE ALSO:  n/a&lt;br /&gt;#===============================================================================&lt;br /&gt;sub avg {&lt;br /&gt;    $sum=0;&lt;br /&gt;    $count=0;&lt;br /&gt;    foreach  (@_) {&lt;br /&gt;        $sum=$sum+$_;&lt;br /&gt;        $count=$count+1;&lt;br /&gt;        }&lt;br /&gt;    $mean=$sum / $count;&lt;br /&gt;    print "Total numbers entered: $count \n";&lt;br /&gt;    print "Sum of numbers: $sum \n";&lt;br /&gt;    print "Mean of numbers: $mean \n";&lt;br /&gt;    $mean;&lt;br /&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2523742513582506508-2613441059556769219?l=discovercoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discovercoding.blogspot.com/feeds/2613441059556769219/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2523742513582506508&amp;postID=2613441059556769219' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/2613441059556769219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/2613441059556769219'/><link rel='alternate' type='text/html' href='http://discovercoding.blogspot.com/2009/02/script-to-ask-numbers-from-user-as.html' title='Script to ask the numbers from user as a input and return the numbers which are above average.'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2523742513582506508.post-7267925588017426580</id><published>2009-02-04T08:27:00.000-08:00</published><updated>2009-02-04T09:05:20.754-08:00</updated><title type='text'>Using GVIM as a PERL IDE !!!</title><content type='html'>&lt;span style="font-size:130%;"&gt;People who do extensive PERL scripting on UNIX and love "vi' editor. Here's some interesting stuff for you:&lt;br /&gt;&lt;br /&gt;http://www.vim.org/scripts/script.php?script_id=556&lt;br /&gt;&lt;br /&gt;After unzipping it in the folder "$HOME/.vim/", read the file "&lt;/span&gt;&lt;span style="font-size:130%;"&gt;$HOME/.vim/&lt;/span&gt;&lt;span style="font-size:130%;"&gt;README.perlsupport"&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2523742513582506508-7267925588017426580?l=discovercoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discovercoding.blogspot.com/feeds/7267925588017426580/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2523742513582506508&amp;postID=7267925588017426580' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/7267925588017426580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/7267925588017426580'/><link rel='alternate' type='text/html' href='http://discovercoding.blogspot.com/2009/02/using-gvim-as-perl-ide.html' title='Using GVIM as a PERL IDE !!!'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2523742513582506508.post-523324064292982557</id><published>2009-02-02T09:04:00.000-08:00</published><updated>2009-02-02T09:05:16.486-08:00</updated><title type='text'>Using variables in bash script.</title><content type='html'>&lt;span style="font-size:130%;"&gt;#!/bin/bash&lt;br /&gt;#===============================================================================&lt;br /&gt;#&lt;br /&gt;#          FILE:  vars_bash.sh&lt;br /&gt;#&lt;br /&gt;#         USAGE:  ./vars_bash.sh&lt;br /&gt;#&lt;br /&gt;#   DESCRIPTION:  Using variables in bash script.&lt;br /&gt;#&lt;br /&gt;#       OPTIONS:  ---&lt;br /&gt;#  REQUIREMENTS:  ---&lt;br /&gt;#          BUGS:  ---&lt;br /&gt;#         NOTES:  ---&lt;br /&gt;#        AUTHOR:  Parag Kalra (), paragkalra@gmail.com, www.paragkalra.com&lt;br /&gt;#       COMPANY:  As of now Persistent System LTD, www.persistentsys.com&lt;br /&gt;#       VERSION:  1.0&lt;br /&gt;#       CREATED:  Sunday 01 February 2009 11:16:38  IST IST&lt;br /&gt;#      REVISION:  ---&lt;br /&gt;#===============================================================================&lt;br /&gt;&lt;br /&gt;echo "uninitialized_variable = $uni_var"&lt;br /&gt;&lt;br /&gt;null_variable=&lt;br /&gt;echo "null_variable = $null_variable"&lt;br /&gt;&lt;br /&gt;let "num_var2 += 2"&lt;br /&gt;echo "$num_var2"&lt;br /&gt;&lt;br /&gt;num_var1=1&lt;br /&gt;let "num_var1 += 4"&lt;br /&gt;echo "$num_var1"&lt;br /&gt;&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;#   Unsetting a variable&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;num_var=13&lt;br /&gt;echo "$num_var"&lt;br /&gt;unset num_var&lt;br /&gt;echo "$num_var"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;#   Different ways a variable can be assigned&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;a=13;&lt;br /&gt;echo $a&lt;br /&gt;&lt;br /&gt;let a=a+13&lt;br /&gt;echo $a&lt;br /&gt;&lt;br /&gt;echo "Enter the value you want to assign to variable a: "&lt;br /&gt;#read a&lt;br /&gt;&lt;br /&gt;for a in 1 2 3&lt;br /&gt;do&lt;br /&gt;echo $a&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;list1=`ls -l`&lt;br /&gt;echo $list1&lt;br /&gt;&lt;br /&gt;list2=$(ls -l)&lt;br /&gt;echo $list2&lt;br /&gt;&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;#   Converting integers to strings and vice-versa&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;a=1234&lt;br /&gt;echo $a&lt;br /&gt;&lt;br /&gt;let a=a+1&lt;br /&gt;echo $a&lt;br /&gt;&lt;br /&gt;a=${a/35/TF}&lt;br /&gt;echo $a&lt;br /&gt;&lt;br /&gt;a=${a/TF/13}&lt;br /&gt;echo $a&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2523742513582506508-523324064292982557?l=discovercoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discovercoding.blogspot.com/feeds/523324064292982557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2523742513582506508&amp;postID=523324064292982557' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/523324064292982557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/523324064292982557'/><link rel='alternate' type='text/html' href='http://discovercoding.blogspot.com/2009/02/using-variables-in-bash-script.html' title='Using variables in bash script.'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2523742513582506508.post-2888005305508544436</id><published>2009-02-02T08:27:00.000-08:00</published><updated>2009-02-02T08:28:44.283-08:00</updated><title type='text'>Using positional parameters in bash scripts</title><content type='html'>&lt;span style="font-size:130%;"&gt;#!/bin/bash&lt;br /&gt;#===============================================================================&lt;br /&gt;#&lt;br /&gt;#          FILE:  posi_param.sh&lt;br /&gt;#&lt;br /&gt;#         USAGE:  ./posi_param.sh 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150&lt;br /&gt;#&lt;br /&gt;#   DESCRIPTION:  To exhibit usage of positional parameters&lt;br /&gt;#&lt;br /&gt;#       OPTIONS:  ---&lt;br /&gt;#  REQUIREMENTS:  ---&lt;br /&gt;#          BUGS:  ---&lt;br /&gt;#         NOTES:  ---&lt;br /&gt;#        AUTHOR:  Parag Kalra (), paragkalra@gmail.com, www.paragkalra.com&lt;br /&gt;#       COMPANY:  As of now Persistent System LTD, www.persistentsys.com&lt;br /&gt;#       VERSION:  1.0&lt;br /&gt;#       CREATED:  Sunday 01 February 2009 01:35:54  IST IST&lt;br /&gt;#      REVISION:  ---&lt;br /&gt;#===============================================================================&lt;br /&gt;&lt;br /&gt;echo -e "\n \n"&lt;br /&gt;&lt;br /&gt;echo "The arguments passed are: $*"&lt;br /&gt;echo -e "Total number of arguments passed are: $# \n \n"&lt;br /&gt;&lt;br /&gt;echo $1&lt;br /&gt;echo $2&lt;br /&gt;echo $3&lt;br /&gt;echo $4&lt;br /&gt;echo $5&lt;br /&gt;echo $6&lt;br /&gt;echo $7&lt;br /&gt;echo $8&lt;br /&gt;echo $9&lt;br /&gt;&lt;br /&gt;echo -e "\n \n"&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;#   Accessing positional parameters with curly braces produce unexpected result&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;echo $10&lt;br /&gt;echo $11&lt;br /&gt;echo $12&lt;br /&gt;echo $13&lt;br /&gt;echo $14&lt;br /&gt;echo $15&lt;br /&gt;echo -e "\n \n"&lt;br /&gt;&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;#   This is the way to access double digit positional parameters&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;echo ${10}&lt;br /&gt;echo ${11}&lt;br /&gt;echo ${12}&lt;br /&gt;echo ${13}&lt;br /&gt;echo ${14}&lt;br /&gt;echo ${15}&lt;br /&gt;echo -e "\n \n"&lt;br /&gt;&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;#   This is strange&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;for a in 1 2 3 4 5&lt;br /&gt;do&lt;br /&gt;    echo $`echo $a`&lt;br /&gt;done&lt;br /&gt;echo -e "\n \n"&lt;br /&gt;&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;#   and it still remains strange&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;for a in 1 2 3 4 5&lt;br /&gt;do&lt;br /&gt;    echo "$`echo $a`"&lt;br /&gt;done&lt;br /&gt;echo -e "\n \n"&lt;br /&gt;&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;#   Shiting the positional parameters&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;#: &lt;&lt; COMMENTED&lt;br /&gt;echo "Shifting positional parameters.."&lt;br /&gt;until [ -z $1 ]&lt;br /&gt;do&lt;br /&gt;    echo $1&lt;br /&gt;    shift&lt;br /&gt;done&lt;br /&gt;echo -e "\n \n"&lt;br /&gt;#COMMENTED&lt;br /&gt;&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;#   Shiting the positional parameters by 5 characters&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;echo "Shifting positional parameters by 4 characters.."&lt;br /&gt;until [ -z $1 ]&lt;br /&gt;do&lt;br /&gt;    echo $1&lt;br /&gt;    shift 4&lt;br /&gt;done&lt;br /&gt;echo -e "\n \n"&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2523742513582506508-2888005305508544436?l=discovercoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discovercoding.blogspot.com/feeds/2888005305508544436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2523742513582506508&amp;postID=2888005305508544436' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/2888005305508544436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/2888005305508544436'/><link rel='alternate' type='text/html' href='http://discovercoding.blogspot.com/2009/02/using-positional-parameters-in-bash.html' title='Using positional parameters in bash scripts'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2523742513582506508.post-6528865831114736414</id><published>2009-01-30T12:49:00.000-08:00</published><updated>2009-02-08T07:06:56.997-08:00</updated><title type='text'>Script to mount multiple isos.</title><content type='html'>&lt;span style="font-size:130%;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; #!/bin/bash&lt;br /&gt;#===============================================================================&lt;br /&gt;#&lt;br /&gt;#          FILE:  deand.sh&lt;br /&gt;#&lt;br /&gt;#         USAGE:  ./deand.sh&lt;br /&gt;#&lt;br /&gt;#   DESCRIPTION: To mount partition and then the iso&lt;br /&gt;#&lt;br /&gt;#       OPTIONS:  ---&lt;br /&gt;#  REQUIREMENTS:  ---&lt;br /&gt;#          BUGS:  ---&lt;br /&gt;#         NOTES:  ---&lt;br /&gt;#        AUTHOR:  Parag Kalra (), paragkalra@gmail.com, www.paragkalra.com&lt;br /&gt;#       COMPANY:  As of now Persistent System LTD, www.persistentsys.com&lt;br /&gt;#       VERSION:  1.0&lt;br /&gt;#       CREATED:  Thursday 29 January 2009 08:04:14  IST IST&lt;br /&gt;#      REVISION:  2&lt;br /&gt;#===============================================================================&lt;br /&gt;&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;#   Creating "/temp" if it doesn't exist&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;if [ ! -d /temp ]&lt;br /&gt;then&lt;br /&gt;    mkdir /temp&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;#   Creating /iso if it doesn't exist&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;if [ ! -d /iso ]&lt;br /&gt;then&lt;br /&gt;    mkdir /iso&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;echo " "&lt;br /&gt;&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;#   Mounting partition and then the iso&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;if ! mount | grep sda1&lt;br /&gt;then&lt;br /&gt;    echo -e "Mounting partition\n"   &lt;br /&gt;    mount /dev/sda1 /temp&lt;br /&gt;else&lt;br /&gt;    echo -e "Partition sda1 already mounted. \n"&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#===  FUNCTION  ================================================================&lt;br /&gt;#          NAME:  isomount()&lt;br /&gt;#   DESCRIPTION:  To mount the respective iso&lt;br /&gt;#    PARAMETERS:  isoname&lt;br /&gt;#       RETURNS:  nothing&lt;br /&gt;#===============================================================================&lt;br /&gt;function isomount&lt;br /&gt;{&lt;br /&gt;    echo -e "You have selected $1 hence mounting $1 iso\n"&lt;br /&gt;    mount -o loop /temp/root/linuxcbt-$1/linuxcbt-$1.iso /iso&lt;br /&gt;}&lt;br /&gt;# ----------  end of function isomount  ----------&lt;br /&gt;&lt;br /&gt;echo -e "Please enter the ISO you want to mount: \n1. rhel4\n2. sendmail\n3. samba\n4. security\n5. rhel5dvd\n6. postfix\n7. qmail"&lt;br /&gt;read iso&lt;br /&gt;&lt;br /&gt;case $iso in&lt;br /&gt;&lt;br /&gt;rhel4)&lt;br /&gt;isomount rhel4&lt;br /&gt;;;&lt;br /&gt;&lt;br /&gt;samba)&lt;br /&gt;isomount samba&lt;br /&gt;;;&lt;br /&gt;&lt;br /&gt;security)&lt;br /&gt;isomount security&lt;br /&gt;;;&lt;br /&gt;&lt;br /&gt;sendmail)&lt;br /&gt;isomount sendmail&lt;br /&gt;;;&lt;br /&gt;&lt;br /&gt;postfix)&lt;br /&gt;isomount postfix&lt;br /&gt;;;&lt;br /&gt;&lt;br /&gt;qmail)&lt;br /&gt;isomount qmail&lt;br /&gt;;;&lt;br /&gt;&lt;br /&gt;rhel5dvd)&lt;br /&gt;echo -e "You have selected $iso hence trying to mount $iso \n"&lt;br /&gt;if  ! mount | grep rhel5iso  &lt;br /&gt;then&lt;br /&gt;    echo -ec"Mounting $iso \n"&lt;br /&gt;    mount -o loop /temp/root/RHEL-5.1-i386-DVD.iso /share/rhel5iso&lt;br /&gt;else&lt;br /&gt;    echo -e "$iso already mounted. \n"&lt;br /&gt;fi&lt;br /&gt;;;&lt;br /&gt;&lt;br /&gt;esac  &lt;br /&gt;&lt;br /&gt; # --- end of case ---&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2523742513582506508-6528865831114736414?l=discovercoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discovercoding.blogspot.com/feeds/6528865831114736414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2523742513582506508&amp;postID=6528865831114736414' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/6528865831114736414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/6528865831114736414'/><link rel='alternate' type='text/html' href='http://discovercoding.blogspot.com/2009/01/script-to-mount-multiple-isos.html' title='Script to mount multiple isos.'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2523742513582506508.post-2100784446017449255</id><published>2009-01-18T09:28:00.000-08:00</published><updated>2009-01-18T09:34:08.016-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='paragkalra'/><category scheme='http://www.blogger.com/atom/ns#' term='kalra'/><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='parag'/><category scheme='http://www.blogger.com/atom/ns#' term='copying a remote database'/><category scheme='http://www.blogger.com/atom/ns#' term='BASH'/><title type='text'>BASH script to copy a remote database !!!</title><content type='html'>#!/bin/bash&lt;br /&gt;#===============================================================================&lt;br /&gt;#&lt;br /&gt;#          FILE:  db_sync.sh&lt;br /&gt;#&lt;br /&gt;#         USAGE:  ./db_sync.sh&lt;br /&gt;#&lt;br /&gt;#   DESCRIPTION: To sync the remote database&lt;br /&gt;#&lt;br /&gt;#       OPTIONS:  ---&lt;br /&gt;#  REQUIREMENTS:  ---&lt;br /&gt;#          BUGS:  ---&lt;br /&gt;#         NOTES:  -----&lt;br /&gt;#        AUTHOR:  Parag Kalra (), paragkalra@gmail.com, www.paragkalra.com&lt;br /&gt;#       COMPANY:  As of now Persistent System LTD, www.persistentsys.com&lt;br /&gt;#       VERSION:  1.0&lt;br /&gt;#       CREATED:  Sunday 18 January 2009 12:44:49  IST IS&lt;br /&gt;#      REVISION:  ---&lt;br /&gt;#===============================================================================&lt;br /&gt;&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;#   Storing username, password &amp;amp; logfile in a variable&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;myuser=some_user&lt;br /&gt;mypasswd=some_password&lt;br /&gt;mylog=/var/log/projects/db_sync.log&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;#   Executing a SQL file to create &amp;amp; drop local databases.&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;echo "Executing SQL file - `date`" &gt; $mylog&lt;br /&gt;mysql --verbose --user=$myuser --password=$mypasswd --host=localhost &lt; /data/projects/mysql/alter_dbs.sql  #---------------------------- #Dumping the remote database on the local setup #---------------------------- echo "Dumping remote mysql databases- `date`" &gt;&gt; $mylog&lt;br /&gt;mysqldump --verbose --user=$myuser --password=$mypasswd --host=www.paragkalra.com some_database &gt; /data/databases/pkc_db_`date +%F`.sql&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;#   Importing the database&lt;br /&gt;#-------------------------------------------------------------------------------&lt;br /&gt;echo "Importing the database - `date`" &gt;&gt; $mylog&lt;br /&gt;mysql --verbose --user=$myuser --password=$mypasswd some_database &lt; /data/databases/pkc_db_`date +%F`.sql&lt;br /&gt;echo "Export - Import of database complete - `date`" &gt;&gt; $mylog&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2523742513582506508-2100784446017449255?l=discovercoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discovercoding.blogspot.com/feeds/2100784446017449255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2523742513582506508&amp;postID=2100784446017449255' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/2100784446017449255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/2100784446017449255'/><link rel='alternate' type='text/html' href='http://discovercoding.blogspot.com/2009/01/bash-script-to-copy-remote-database.html' title='BASH script to copy a remote database !!!'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2523742513582506508.post-354753021273699384</id><published>2008-10-19T13:31:00.000-07:00</published><updated>2008-10-19T14:23:38.785-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='paragkalra'/><category scheme='http://www.blogger.com/atom/ns#' term='IDE'/><category scheme='http://www.blogger.com/atom/ns#' term='GVIM'/><category scheme='http://www.blogger.com/atom/ns#' term='kalra'/><category scheme='http://www.blogger.com/atom/ns#' term='plugin'/><category scheme='http://www.blogger.com/atom/ns#' term='parag'/><category scheme='http://www.blogger.com/atom/ns#' term='BASH'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>BASH IDE plugin for GVIM</title><content type='html'>http://www.linux.com/feature/114359&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Download location of plugin:&lt;br /&gt;http://www.vim.org/scripts/script.php?script_id=365&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Or just execute the script given below to download and install the IDE.&lt;br /&gt;(Script "unit" tested on Debian &amp;amp; OpenSUSE but should work out of the box on any other NIX flavor .)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Couldn't test this script on FreeBSD.&lt;br /&gt;(as couldn't find "gvim" port under ftp://ftp.freebsd.org/pub/FreeBSD/ports)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;#===============================================================================&lt;br /&gt;#&lt;br /&gt;#          FILE:  gvim_bash_ide.sh&lt;br /&gt;#&lt;br /&gt;#         USAGE:  ./gvim_bash_ide.sh OR sh gvim_bash_ide.sh&lt;br /&gt;#&lt;br /&gt;#   DESCRIPTION:  The scripts downloads the bash ide plugin for gvim, extracts it &amp;amp; copies it under ~/.vim&lt;br /&gt;#&lt;br /&gt;#       OPTIONS:  ---&lt;br /&gt;#  REQUIREMENTS:  gvim&lt;br /&gt;#          BUGS:  ---&lt;br /&gt;#         NOTES: The script assumes gvim installed. Revision 1 of this file was tested on Debian 4.0 R2 &amp;amp; OpenSUSE 10.3.&lt;br /&gt;#&lt;br /&gt;#        AUTHOR:  Parag Kalra, paragkalra@gmail.com&lt;br /&gt;#       COMPANY:  As of now (19-Oct-08) Persistent Systems LTD&lt;br /&gt;#       VERSION:  1.0&lt;br /&gt;#       CREATED:  Sunday 19 October 2008 09:40:49  IST IST&lt;br /&gt;#      REVISION:  1&lt;br /&gt;#===============================================================================&lt;br /&gt;&lt;br /&gt;SRCID=9304&lt;br /&gt;&lt;br /&gt;if [ -f /etc/debian_version ]&lt;br /&gt;then&lt;br /&gt;   echo -e "\nSeems as if you are using Debian. Please make sure that gvim is installed. It comes packed with DVD ... \n"&lt;br /&gt;elif [ -f /etc/SuSE-release ]&lt;br /&gt;then&lt;br /&gt;   echo -e "\nSeems as if you are OpenSUSE or may be SLES. Please make sure that gvim is installed. It comes packed with DVD ...\n"&lt;br /&gt;elif [ -f /etc/redhat-release ]&lt;br /&gt;then&lt;br /&gt;   echo -e "\nSeems as if you are using Redhat or Fedora. Please make sure that gvim is installed. \n"&lt;br /&gt;else&lt;br /&gt;   echo -e "\nPlease make sure that gvim is installed before adding bash ide plugin ... \n"&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if [ -d ~/.vim ]&lt;br /&gt;then&lt;br /&gt;   echo -e "Directory ~/.vim already exists ... \n"&lt;br /&gt;else&lt;br /&gt;   echo -e "Creating vim directory under user's home directory ... \n"&lt;br /&gt;   mkdir ~/.vim&lt;br /&gt;   echo -e "Navigating into ~/.vim \n"&lt;br /&gt;   cd ~/.vim&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;echo -e "Downloading bash ide plugin for gvim from www.vim.org ... \n"&lt;br /&gt;wget --verbose -P~/.vim http://www.vim.org/scripts/download_script.php?src_id=$SRCID -O bash-support.zip&lt;br /&gt;&lt;br /&gt;#As of now this script downloads latest bash ide plugin. To download the latest plugin:&lt;br /&gt;# 1. get the latest "src_id" from http://www.vim.org/scripts/script.php?script_id=365&lt;br /&gt;# 2. and change the the "SRCID"&lt;br /&gt;&lt;br /&gt;echo -e "Navigating into ~/.vim \n"&lt;br /&gt;cd ~/.vim&lt;br /&gt;&lt;br /&gt;echo -e "Unzipping bash ide plugin for gvim ... \n"&lt;br /&gt;unzip bash-support.zip&lt;br /&gt;&lt;br /&gt;echo -e "\nDeleting unused files ... \n"&lt;br /&gt;rm -rf bash-support.zip&lt;br /&gt;&lt;br /&gt;if [ -f ~/.vim/plugin/bash-support.vim ]&lt;br /&gt;then&lt;br /&gt;   echo -e "Seems as if all went good. Open gvim and check the bash ide plugin ... \n"&lt;br /&gt;else&lt;br /&gt;   echo -e "Something got screwed. Figure it out yourself ... \n"&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Just go through it and let me know if you happen to come across any bug in it. eMail me at paragkalra@gmail.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2523742513582506508-354753021273699384?l=discovercoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discovercoding.blogspot.com/feeds/354753021273699384/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2523742513582506508&amp;postID=354753021273699384' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/354753021273699384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/354753021273699384'/><link rel='alternate' type='text/html' href='http://discovercoding.blogspot.com/2008/10/httpwww.html' title='BASH IDE plugin for GVIM'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2523742513582506508.post-9206982545701947127</id><published>2008-10-11T04:27:00.000-07:00</published><updated>2008-10-11T04:30:08.034-07:00</updated><title type='text'>Shell Script to show disk space, logged in users and memory usage.</title><content type='html'>#!/usr/bin/sh&lt;br /&gt;#Author: Parag Kalra&lt;br /&gt;#Date: 11th October, 2008&lt;br /&gt;&lt;br /&gt;function menu {&lt;br /&gt;&lt;br /&gt;clear&lt;br /&gt;echo&lt;br /&gt;echo -e "\t\t\tSys Admin Menu\n"&lt;br /&gt;echo -e "\t1. Display disk space"&lt;br /&gt;echo -e "\t2. Display logged on users"&lt;br /&gt;echo -e "\t3. Display memory usage"&lt;br /&gt;echo -e "\t0. Exit menu\n\n"&lt;br /&gt;echo -en "\t\tEnter option: "&lt;br /&gt;read -n 1 option&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function diskspace {&lt;br /&gt;    clear   &lt;br /&gt;    df -k&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function users {&lt;br /&gt;    clear&lt;br /&gt;    who&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function memusage {&lt;br /&gt; clear&lt;br /&gt; cat /proc/meminfo&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;while [ 1 ]&lt;br /&gt;do&lt;br /&gt;    clear&lt;br /&gt;    menu&lt;br /&gt;   &lt;br /&gt;    case $option in&lt;br /&gt;        0)&lt;br /&gt;            echo           &lt;br /&gt;            break;;&lt;br /&gt;        1)&lt;br /&gt;            diskspace;;&lt;br /&gt;        2)&lt;br /&gt;            users;;&lt;br /&gt;        3)&lt;br /&gt;            memusage;;&lt;br /&gt;        *)&lt;br /&gt;            echo "Wrong Option"&lt;br /&gt;    esac&lt;br /&gt;   &lt;br /&gt;    echo "Hit any key to continu!"&lt;br /&gt;    read -n 1 line&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Just go through it and let me know if you happen to come across any bug in it. eMail me at paragkalra@gmail.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2523742513582506508-9206982545701947127?l=discovercoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discovercoding.blogspot.com/feeds/9206982545701947127/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2523742513582506508&amp;postID=9206982545701947127' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/9206982545701947127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/9206982545701947127'/><link rel='alternate' type='text/html' href='http://discovercoding.blogspot.com/2008/10/shell-script-to-show-disk-space-logged.html' title='Shell Script to show disk space, logged in users and memory usage.'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2523742513582506508.post-3087893190754925174</id><published>2008-06-14T00:18:00.000-07:00</published><updated>2008-06-14T00:44:43.013-07:00</updated><title type='text'>Shell-script to add comments and html tags in php files.</title><content type='html'>I am sometimes required to write PHP scripts and I find typing tags and comments quite boring. Look what I have done. I have written a fully automated script that will make you job very easy and you can easily place tags and comments into your php scripts.&lt;br /&gt;&lt;br /&gt;Just go through it and let me know if you happen to come across any bug in it. eMail me at paragkalra@gmail.com&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;#Author: Parag Kalra&lt;br /&gt;#Date: 14th June, 2008&lt;br /&gt;#Name: php-tags.sh&lt;br /&gt;#Usage: ./php-tags.sh&lt;br /&gt;#Purpose: To automatically add comments and html tags.&lt;br /&gt;&lt;br /&gt;# BEGINNING&lt;br /&gt;&lt;br /&gt;echo "Enter the name of the shell script: "&lt;br /&gt;read SHNAME&lt;br /&gt;&lt;br /&gt;echo "Enter the purpose of this shell script: "&lt;br /&gt;read SHPURPOSE&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;export SHDATE #='$SHDATE'&lt;br /&gt;export SHNAME #='$SHNAME'&lt;br /&gt;export SHPURPOSE #='$SHPURPOSE'&lt;br /&gt;&lt;br /&gt;touch $SHNAME&lt;br /&gt;&lt;br /&gt;echo "html tag" &gt;&gt; $SHNAME&lt;br /&gt;echo "head tag, title tag, title end tag, head end title&gt;" &gt;&gt; $SHNAME&lt;br /&gt;echo "body tag" &gt;&gt; $SHNAME&lt;br /&gt;&lt;br /&gt;echo "php start tag" &gt;&gt; $SHNAME&lt;br /&gt;&lt;br /&gt;echo "#!/bin/bash" &gt;&gt; $SHNAME&lt;br /&gt;echo "#Author: Parag Kalra" &gt;&gt; $SHNAME&lt;br /&gt;echo "#Date: $SHDATE" &gt;&gt; $SHNAME&lt;br /&gt;echo "#Name: $SHNAME" &gt;&gt; $SHNAME&lt;br /&gt;echo "#Usage: ./$SHNAME" &gt;&gt; $SHNAME&lt;br /&gt;echo "#Purpose: $SHPURPOSE" &gt;&gt; $SHNAME&lt;br /&gt;&lt;br /&gt;echo "php end tag" &gt;&gt; $SHNAME&lt;br /&gt;&lt;br /&gt;echo "body end tag" &gt;&gt; $SHNAME&lt;br /&gt;echo "html end tag" &gt;&gt; $SHNAME&lt;br /&gt;&lt;br /&gt;#END OF SCRIPT&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2523742513582506508-3087893190754925174?l=discovercoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discovercoding.blogspot.com/feeds/3087893190754925174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2523742513582506508&amp;postID=3087893190754925174' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/3087893190754925174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/3087893190754925174'/><link rel='alternate' type='text/html' href='http://discovercoding.blogspot.com/2008/06/shell-script-to-add-comments-and-html.html' title='Shell-script to add comments and html tags in php files.'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2523742513582506508.post-7265614085943191480</id><published>2008-06-02T14:16:00.000-07:00</published><updated>2008-06-02T14:19:18.265-07:00</updated><title type='text'>Functions in Shell-Scripting =&gt; Part 1</title><content type='html'>#!/bin/bash&lt;br /&gt;#Author: Parag Kalra&lt;br /&gt;#Date: 3rd June, 2008&lt;br /&gt;#Name: func1.sh&lt;br /&gt;#Usage: ./func1.sh&lt;br /&gt;#Purpose: To illustrate usage of functions in Shell Scripts.&lt;br /&gt;&lt;br /&gt;JUST_A_SECOND=1&lt;br /&gt;REPEATS=3&lt;br /&gt;&lt;br /&gt;funky()&lt;br /&gt;{&lt;br /&gt;        echo "This is a just funky function...not that exciting..."&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;fun()&lt;br /&gt;{&lt;br /&gt;        echo "The real fun starts now."&lt;br /&gt;        i=0&lt;br /&gt;        sleep $JUST_A_SECOND&lt;br /&gt;&lt;br /&gt;        while [ $i -lt $REPEATS ]&lt;br /&gt;        do&lt;br /&gt;                echo "FUNCTIONS R FUN"&lt;br /&gt;                echo&lt;br /&gt;                let "i+=1"&lt;br /&gt;        done&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;funky&lt;br /&gt;fun&lt;br /&gt;&lt;br /&gt;The output of above script is:&lt;br /&gt;&lt;br /&gt;This is a just funky function...not that exciting...&lt;br /&gt;The real fun starts now.&lt;br /&gt;FUNCTIONS R FUN&lt;br /&gt;&lt;br /&gt;FUNCTIONS R FUN&lt;br /&gt;&lt;br /&gt;FUNCTIONS R FUN&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Just go through it and let me know if you happen to come across any bug in it. eMail me at paragkalra@gmail.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2523742513582506508-7265614085943191480?l=discovercoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discovercoding.blogspot.com/feeds/7265614085943191480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2523742513582506508&amp;postID=7265614085943191480' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/7265614085943191480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/7265614085943191480'/><link rel='alternate' type='text/html' href='http://discovercoding.blogspot.com/2008/06/functions-in-shell-scripting-part-1.html' title='Functions in Shell-Scripting =&gt; Part 1'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2523742513582506508.post-8462096038882606390</id><published>2008-06-01T07:46:00.000-07:00</published><updated>2008-06-01T07:53:06.760-07:00</updated><title type='text'>Concept of Sub-Shells - Part 2</title><content type='html'>Variables defined in a subshell are "local variables. Also variable operations inside a subshell, even to a GLOBAL variable do not affect the value of the variable outside the subshell! Kindly refer to the script given below:&lt;br /&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;#Author: Parag Kalra&lt;br /&gt;#Date: 1st June, 2008&lt;br /&gt;#Name: glo-var-sub-shell.sh&lt;br /&gt;#Usage: ./glo-var-sub-shell.sh&lt;br /&gt;#Purpose: To illustrate concept of global variables within sub-shells&lt;br /&gt;&lt;br /&gt;global_variable=&lt;br /&gt;outer_num=12&lt;br /&gt;&lt;br /&gt;echo "Outside Subshell"&lt;br /&gt;echo "global_variable=$global_variable"&lt;br /&gt;echo "outer_num=$outer_num "&lt;br /&gt;echo " "&lt;br /&gt;&lt;br /&gt;(&lt;br /&gt;&lt;br /&gt;        echo "Inside Subshell"&lt;br /&gt;        inner_variable=26&lt;br /&gt;        let "outer_num+=1"&lt;br /&gt;        echo "global_variable=$global_variable"&lt;br /&gt;        echo "outer_num=$outer_num"&lt;br /&gt;        echo "inner_variable=$inner_variable "&lt;br /&gt;        echo " "&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;echo "Again Outside of Subshell"&lt;br /&gt;echo "outer_num=$outer_num"&lt;br /&gt;echo "inner_variable=$inner_variable"&lt;br /&gt;&lt;br /&gt;# END OF SCRIPT&lt;br /&gt;&lt;br /&gt;The output of above script is:&lt;br /&gt;Outside Subshell&lt;br /&gt;global_variable=&lt;br /&gt;outer_num=12&lt;br /&gt;&lt;br /&gt;Inside Subshell&lt;br /&gt;global_variable=&lt;br /&gt;outer_num=13&lt;br /&gt;inner_variable=26&lt;br /&gt;&lt;br /&gt;Again Outside of Subshell&lt;br /&gt;outer_num=12&lt;br /&gt;inner_variable=&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Just go through it and let me know if you happen to come across any bug in it. eMail me at paragkalra@gmail.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2523742513582506508-8462096038882606390?l=discovercoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discovercoding.blogspot.com/feeds/8462096038882606390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2523742513582506508&amp;postID=8462096038882606390' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/8462096038882606390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/8462096038882606390'/><link rel='alternate' type='text/html' href='http://discovercoding.blogspot.com/2008/06/concept-of-sub-shells-part-2.html' title='Concept of Sub-Shells - Part 2'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2523742513582506508.post-8436515737068748369</id><published>2008-05-30T12:00:00.000-07:00</published><updated>2008-06-01T06:25:26.105-07:00</updated><title type='text'>Concept of Sub-Shells - Part1</title><content type='html'>First &amp;amp; foremost to create sub-shells within a script you need to use round brackets "( )". Value assigned to outermost shell is always 0. As you move inside sub-shells their values keep on increasing by 1 as depicted in the  example shown below:&lt;br /&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;#Author: Parag Kalra&lt;br /&gt;#Date: 31st May, 2008&lt;br /&gt;#Name: subshell1.sh&lt;br /&gt;#Usage: ./subshell1.sh&lt;br /&gt;#Purpose: To illustrate values assigned to sub-shells&lt;br /&gt;&lt;br /&gt;echo "We are outside the subshell."&lt;br /&gt;echo "Subshell level OUTSIDE subshell = $BASH_SUBSHELL"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(&lt;br /&gt;       echo "We are inside first subshell."&lt;br /&gt;       echo "Subshell level INSIDE first subshell = $BASH_SUBSHELL"&lt;br /&gt;&lt;br /&gt;               (&lt;br /&gt;                       echo "Inside second sub-shell"&lt;br /&gt;                       echo "Subshell level INSIDE second subshell = $BASH_SUBSHELL"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                       (&lt;br /&gt;                               echo "Inside third sub-shell"&lt;br /&gt;                               echo "Subshell level INSIDE third subshell = $BASH_SUBSHELL"&lt;br /&gt;                       )&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;       )&lt;br /&gt;&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;echo "We are again outside all the subshells."&lt;br /&gt;echo "Subshell level OUTSIDE subshell = $BASH_SUBSHELL"&lt;br /&gt;&lt;br /&gt;#END OF SCRIPT&lt;br /&gt;&lt;br /&gt;The output of above script is:&lt;br /&gt;&lt;br /&gt;We are outside the subshell.&lt;br /&gt;Subshell level OUTSIDE subshell = 0&lt;br /&gt;We are inside first subshell.&lt;br /&gt;Subshell level INSIDE first subshell = 1&lt;br /&gt;Inside second sub-shell&lt;br /&gt;Subshell level INSIDE second subshell = 2&lt;br /&gt;Inside third sub-shell&lt;br /&gt;Subshell level INSIDE third subshell = 3&lt;br /&gt;We are again outside all the subshells.&lt;br /&gt;Subshell level OUTSIDE subshell = 0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2523742513582506508-8436515737068748369?l=discovercoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discovercoding.blogspot.com/feeds/8436515737068748369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2523742513582506508&amp;postID=8436515737068748369' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/8436515737068748369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/8436515737068748369'/><link rel='alternate' type='text/html' href='http://discovercoding.blogspot.com/2008/05/concept-of-sub-shells-part1.html' title='Concept of Sub-Shells - Part1'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2523742513582506508.post-5416475672508958407</id><published>2008-05-29T14:35:00.000-07:00</published><updated>2008-05-31T02:45:25.460-07:00</updated><title type='text'>Shell-Script to add headers to another Shell-Script</title><content type='html'>I write Shell-Scripts day in day out. For each and every shell-script I need to place following headers at the beginning of it. For e.g. consider following header:&lt;br /&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;#Author: &lt;name&gt;&lt;br /&gt;#Date: &lt;date&gt;&lt;br /&gt;#Name: &lt;name&gt;&lt;br /&gt;#Usage: &lt;syntax&gt;&lt;br /&gt;#Purpose: &lt;aim&gt;&lt;br /&gt;&lt;br /&gt;I have prepared a shell-script to automatically add the above header to the newly created shell-script. Just go through it and let me know if you happen to come across any bug in it:&lt;br /&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;#Author: Parag Kalra&lt;br /&gt;#Date: 30th May, 2008&lt;br /&gt;#Name: shell-script-header.sh&lt;br /&gt;#Usage: ./shell-script-header.sh&lt;br /&gt;#Purpose: To add headers to shell-scripts&lt;br /&gt;&lt;br /&gt;echo "Enter the date: "&lt;br /&gt;read SHDATE&lt;br /&gt;&lt;br /&gt;echo "Enter the name of the shell script: "&lt;br /&gt;read SHNAME&lt;br /&gt;&lt;br /&gt;echo "Enter the purpose of this shell script: "&lt;br /&gt;read SHPURPOSE&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;export SHDATE #='$SHDATE'&lt;br /&gt;export SHNAME #='$SHNAME'&lt;br /&gt;export SHPURPOSE #='$SHPURPOSE'&lt;br /&gt;&lt;br /&gt;touch $SHNAME&lt;br /&gt;&lt;br /&gt;echo "#!/bin/bash" &gt;&gt; $SHNAME&lt;br /&gt;echo "#Author: Parag Kalra" &gt;&gt; $SHNAME&lt;br /&gt;echo "#Date: $SHDATE" &gt;&gt; $SHNAME&lt;br /&gt;echo "#Name: $SHNAME" &gt;&gt; $SHNAME&lt;br /&gt;echo "#Usage: ./$SHNAME" &gt;&gt; $SHNAME&lt;br /&gt;echo "#Purpose: $SHPURPOSE" &gt;&gt; $SHNAME&lt;br /&gt;&lt;br /&gt;#END OF SCRIPT&lt;br /&gt;&lt;/aim&gt;&lt;/syntax&gt;&lt;/name&gt;&lt;/date&gt;&lt;/name&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2523742513582506508-5416475672508958407?l=discovercoding.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discovercoding.blogspot.com/feeds/5416475672508958407/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2523742513582506508&amp;postID=5416475672508958407' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/5416475672508958407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2523742513582506508/posts/default/5416475672508958407'/><link rel='alternate' type='text/html' href='http://discovercoding.blogspot.com/2008/05/shell-script-to-add-headers-to-another.html' title='Shell-Script to add headers to another Shell-Script'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>1</thr:total></entry></feed>
