<?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-4961613010677964047</id><updated>2012-02-16T06:41:34.872-08:00</updated><category term='Oracle'/><category term='Perl Interview Questions'/><title type='text'>Perl  -  Tidings</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>48</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-1242339661023661634</id><published>2011-09-18T23:47:00.001-07:00</published><updated>2011-09-18T23:47:48.103-07:00</updated><title type='text'>The caller() function and $wantarray</title><content type='html'>&lt;div&gt;The argument of interest is the $wantarray argument. This indicates what return value is&lt;/div&gt;&lt;div&gt;expected of the subroutine from where it was called. The subroutine could have been&lt;/div&gt;&lt;div&gt;called in void context meaning the return value is thrown away. Or it could have been&lt;/div&gt;&lt;div&gt;called and the return value assigned to a scalar. Or it could have been called and the&lt;/div&gt;&lt;div&gt;return value assigned to a list of scalars.&lt;/div&gt;&lt;div&gt;sub CheckMyWantArray&lt;/div&gt;&lt;div&gt;{&lt;/div&gt;&lt;div&gt;my @info = caller(0);&lt;/div&gt;&lt;div&gt;my $wantarray = $info[5];&lt;/div&gt;&lt;div&gt;$wantarray='undef'&lt;/div&gt;&lt;div&gt;unless(defined($wantarray));&lt;/div&gt;&lt;div&gt;print "wantarray is '$wantarray'\n";&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;div&gt;CheckMyWantArray; # undef&lt;/div&gt;&lt;div&gt;my $scal = CheckMyWantArray; # 0&lt;/div&gt;&lt;div&gt;my @arr = CheckMyWantArray; # 1&lt;/div&gt;&lt;div&gt;&amp;gt; wantarray is 'undef'&lt;/div&gt;&lt;div&gt;&amp;gt; wantarray is '0'&lt;/div&gt;&lt;div&gt;&amp;gt; wantarray is '1'&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-1242339661023661634?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/1242339661023661634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=1242339661023661634' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/1242339661023661634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/1242339661023661634'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2011/09/caller-function-and-wantarray.html' title='The caller() function and $wantarray'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-1268744308946475001</id><published>2011-09-18T23:43:00.000-07:00</published><updated>2011-09-18T23:46:44.823-07:00</updated><title type='text'>Using the caller() Function in Subroutines</title><content type='html'>&lt;div&gt;The caller() function can be used in a subroutine to find out information about where the&lt;/div&gt;&lt;div&gt;subroutine was called from and how it was called. Caller takes one argument that&lt;/div&gt;&lt;div&gt;indicates how far back in the call stack to get its information from. For information about&lt;/div&gt;&lt;div&gt;the current subroutine, use caller(0).&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;sub HowWasICalled {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;     &lt;/span&gt;my @info = caller(0);&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;     &lt;/span&gt;print Dumper \@info;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;}&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;HowWasICalled;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;&amp;gt;$VAR1 = [&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;     &lt;/span&gt;&amp;gt; 'main',&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;     &lt;/span&gt;&amp;gt; './test.pl',&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;     &lt;/span&gt;&amp;gt; 13,&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;     &lt;/span&gt;&amp;gt; 'main::HowWasICalled',&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;     &lt;/span&gt;&amp;gt; 1,&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;     &lt;/span&gt;&amp;gt; undef,&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;     &lt;/span&gt;&amp;gt; undef,&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;     &lt;/span&gt;&amp;gt; undef,&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;     &lt;/span&gt;&amp;gt; 2,&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;     &lt;/span&gt;&amp;gt; 'UUUUUUUUUUUU'&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;     &lt;/span&gt;&amp;gt; ];&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The caller() function returns a list of information in the following order&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;0 &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;$package &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;package namespace at time of call&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;1 &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;$filename &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;filename where called occurred&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;2 &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;$line &lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;line number in file where call occurred&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;3 &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;$subroutine &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;name of subroutine called&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;4 &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;$hasargs &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;true if explicit arguments passed in&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;5 &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;$wantarray &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;list=1, scalar=0, void=undef&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;6 &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;$evaltext &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;evaluated text if an eval block&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;7 &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;$is_require &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;true if created by "require" or "use"&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;8 &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;$hints &lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;internal use only, disregard&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;9 &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;$bitmask &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;internal use only, disregard&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/4961613010677964047-1268744308946475001?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/1268744308946475001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=1268744308946475001' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/1268744308946475001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/1268744308946475001'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2011/09/using-caller-function-in-subroutines.html' title='Using the caller() Function in Subroutines'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-6848854248221822762</id><published>2011-09-18T23:40:00.000-07:00</published><updated>2011-09-18T23:42:26.170-07:00</updated><title type='text'>Implied Arguments in perl</title><content type='html'>&lt;div&gt;When calling a subroutine with the "&amp;amp;" sigil prefix and no parenthesis, the current @_&lt;/div&gt;&lt;div&gt;array gets implicitely passed to the subroutine being called. This can cause subtly odd&lt;/div&gt;&lt;div&gt;behaviour if you are not expecting it.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;sub second_level {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;print Dumper \@_;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;sub first_level {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;# using '&amp;amp;' sigil and no parens.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;# doesn't look like I'm passing any params&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;# but perl will pass @_ implicitely.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;&amp;amp;second_level;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;first_level(1,2,3);&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&amp;gt; $VAR1 = [&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;&amp;gt; 1,&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;&amp;gt; 2,&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;&amp;gt; 3&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;&amp;gt; ];&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-6848854248221822762?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/6848854248221822762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=6848854248221822762' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/6848854248221822762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/6848854248221822762'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2011/09/implied-arguments-in-perl.html' title='Implied Arguments in perl'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-1228584123765633437</id><published>2011-09-14T21:15:00.000-07:00</published><updated>2011-09-14T21:16:28.338-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Perl Interview Questions'/><title type='text'>what is it meants by '$_'?</title><content type='html'>&lt;p class="MsoNormal"&gt;It is a default variable which holds automatically, a list of arguements passed to the subroutine within parentheses.&lt;/p&gt;  &lt;!--EndFragment--&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-1228584123765633437?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/1228584123765633437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=1228584123765633437' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/1228584123765633437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/1228584123765633437'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2011/09/what-is-it-meants-by.html' title='what is it meants by &apos;$_&apos;?'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-6945853683891539795</id><published>2011-09-14T21:11:00.000-07:00</published><updated>2011-09-14T21:13:27.656-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Perl Interview Questions'/><title type='text'>Difference between 'my' and 'local' variable scope declarations</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;Both of them are used to declare local variables. The variables declared with 'my' can live only within the block and cannot gets its visibility inherited functions called within that block, but one defined as 'local' can live within the block and have its visibility in the functions called within that block.&lt;/div&gt;&lt;p&gt;&lt;/p&gt;  &lt;!--EndFragment--&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-6945853683891539795?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/6945853683891539795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=6945853683891539795' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/6945853683891539795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/6945853683891539795'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2011/09/difference-between-my-and-local.html' title='Difference between &apos;my&apos; and &apos;local&apos; variable scope declarations'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-6863428875583722496</id><published>2011-09-14T21:09:00.000-07:00</published><updated>2011-09-14T21:10:58.152-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Perl Interview Questions'/><title type='text'>what is meant by a 'pack' in perl?</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;Pack Converts a list into a binary representation. Takes an array or list of values and packs it into a binary structure, returning the string containing the structure It takes a LIST of values and converts it into a string. The string contains a concatenation of the converted values. Typically, each converted values looks like its machine-level representation. for example, on 32-bit machines a converted integer may be represented by a sequence of 4 bytes.&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-6863428875583722496?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/6863428875583722496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=6863428875583722496' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/6863428875583722496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/6863428875583722496'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2011/09/what-is-meant-by-pack-in-perl.html' title='what is meant by a &apos;pack&apos; in perl?'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-4691579613648606686</id><published>2011-09-14T21:05:00.000-07:00</published><updated>2011-09-14T21:06:36.465-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Perl Interview Questions'/><title type='text'>How to substitute a particular string in a file containing million of record?</title><content type='html'>&lt;p class="MsoNormal"&gt;perl -p -ibak -e 's/search_str/replace_str/g'  &lt;filename&gt;&lt;/filename&gt;&lt;/p&gt;  &lt;!--EndFragment--&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-4691579613648606686?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/4691579613648606686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=4691579613648606686' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/4691579613648606686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/4691579613648606686'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2011/09/how-to-substitute-particular-string-in.html' title='How to substitute a particular string in a file containing million of record?'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-4538227729786519955</id><published>2011-09-14T21:03:00.000-07:00</published><updated>2011-09-14T21:05:13.280-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Perl Interview Questions'/><title type='text'>how do you check the return code of system call?</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;System calls "traditionally" returns 9 when successful and 1 when it fails. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;                  system (cmd) or die "Error in command";&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-4538227729786519955?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/4538227729786519955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=4538227729786519955' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/4538227729786519955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/4538227729786519955'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2011/09/how-do-you-check-return-code-of-system.html' title='how do you check the return code of system call?'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-1310318227714563500</id><published>2011-09-14T20:58:00.000-07:00</published><updated>2011-09-14T21:00:20.249-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Perl Interview Questions'/><title type='text'>What is '-&gt;' in Perl?</title><content type='html'>&lt;div&gt;It is a symbolic link to link one file name to a new name. so lets say we do it like&lt;/div&gt;&lt;div&gt;file1-&amp;gt; file2, if we read file1, we end up reading file2.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-1310318227714563500?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/1310318227714563500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=1310318227714563500' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/1310318227714563500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/1310318227714563500'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2011/09/what-is-in-perl.html' title='What is &apos;-&gt;&apos; in Perl?'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-3599939864179742092</id><published>2011-09-14T20:53:00.000-07:00</published><updated>2011-09-14T20:57:00.031-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Perl Interview Questions'/><title type='text'>Difference between 'chomp' and 'chop'?</title><content type='html'>&lt;div style="text-align: justify;"&gt;'chop' functiononly removes the last character completely 'from the scaler, where as 'chomp' function only removes the last character if it is a newline. by default, &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;chomp only removes what is currently defined as the $INPUT_RECORD_SEPARATOR. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;whenever you call 'chomp ', it checks the value of a special variable '$/'. whatever the value of '$/' is eliminated from the scaler. by default the value of '$/' is '\n'&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-3599939864179742092?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/3599939864179742092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=3599939864179742092' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/3599939864179742092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/3599939864179742092'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2011/09/difference-between-chomp-and-chop.html' title='Difference between &apos;chomp&apos; and &apos;chop&apos;?'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-8667120797130259246</id><published>2011-09-14T20:51:00.000-07:00</published><updated>2011-09-14T20:53:20.705-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Perl Interview Questions'/><title type='text'>Diffrence between 'use' and 'require' function?</title><content type='html'>&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;u&gt;Use: &lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. the method is used only for modules (only to include .pm type file) &lt;/div&gt;&lt;div&gt;2. the included object are verified at the time of compilation. &lt;/div&gt;&lt;div&gt;3. No Need to give file extentsion.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;u&gt;Require: &lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. The method is used for both libraries ( package ) and modules &lt;/div&gt;&lt;div&gt;2. The include objects are varified at the run time. &lt;/div&gt;&lt;div&gt;3. Need to give file Extension.&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/4961613010677964047-8667120797130259246?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/8667120797130259246/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=8667120797130259246' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/8667120797130259246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/8667120797130259246'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2011/09/diffrence-between-use-and-require.html' title='Diffrence between &apos;use&apos; and &apos;require&apos; function?'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-3825100266132979652</id><published>2011-09-14T20:42:00.000-07:00</published><updated>2011-09-14T20:50:53.567-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Perl Interview Questions'/><title type='text'>How do you know the reference of a variable whether it is a reference,scaller, hash or array?</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Answer : There is a 'ref' function .&lt;/p&gt;&lt;p class="MsoNormal"&gt;Perl provides the ref() function so that you can check the reference type before dereferencing a reference&lt;/p&gt;&lt;p class="MsoNormal"&gt;The ref() function can return are:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="background-color: rgb(255, 255, 255); "&gt;&lt;span class="Apple-style-span"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;table cellpadding="3" border="1" style="text-align: center;"&gt;&lt;tbody&gt;&lt;tr valign="TOP"&gt;&lt;th align="LEFT" nowrap="" style="text-align: left;"&gt;&lt;i&gt;Function Call&lt;/i&gt;&lt;/th&gt;&lt;th align="LEFT" nowrap="" style="text-align: left;"&gt;&lt;i&gt;Return Value&lt;/i&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr valign="TOP"&gt;&lt;td align="LEFT" nowrap="" style="text-align: left;"&gt;ref( 10 );&lt;/td&gt;&lt;td align="LEFT" nowrap="" style="text-align: left;"&gt;undefined&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="TOP"&gt;&lt;td align="LEFT" nowrap="" style="text-align: left;"&gt;ref( &lt;code&gt;\&lt;/code&gt;10);&lt;/td&gt;&lt;td align="LEFT" nowrap="" style="text-align: left;"&gt;SCALAR&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="TOP"&gt;&lt;td align="LEFT" nowrap="" style="text-align: left;"&gt;ref( &lt;code&gt;\{1 =&amp;gt; ; "Joe"}&lt;/code&gt; );&lt;/td&gt;&lt;td align="LEFT" nowrap="" style="text-align: left;"&gt;HASH&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="TOP"&gt;&lt;td align="LEFT" nowrap="" style="text-align: left;"&gt;ref(&lt;code&gt;\&lt;/code&gt;&amp;amp;firstSub );&lt;/td&gt;&lt;td align="LEFT" nowrap="" style="text-align: left;"&gt;CODE&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="TOP"&gt;&lt;td align="LEFT" nowrap="" style="text-align: left;"&gt;ref( &lt;code&gt;\&lt;/code&gt;&lt;code&gt;\&lt;/code&gt;10);&lt;/td&gt;&lt;td align="LEFT" nowrap="" style="text-align: left;"&gt;REF&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-3825100266132979652?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/3825100266132979652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=3825100266132979652' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/3825100266132979652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/3825100266132979652'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2011/09/how-do-you-know-reference-of-variable.html' title='How do you know the reference of a variable whether it is a reference,scaller, hash or array?'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-6772125445775745645</id><published>2011-09-14T20:27:00.000-07:00</published><updated>2011-09-14T20:32:56.385-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Meaning of i and g in Oracle 9i &amp; 10g</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 22px; "&gt;&lt;span class="Apple-style-span" &gt;The i in oracle 8i and 9i stands for INTERNET and the g in 10g and 11g stands for GRID&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 22px; "&gt;&lt;span class="Apple-style-span" &gt;bcz from 10g onwards oracle supports grid architecture.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 22px; "&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 22px; "&gt;&lt;span class="Apple-style-span" &gt;The "i" and "g" Versions Starting in 1999 with Version 8i, Oracle added the "i" to the version name to reflect support for the Internet with its built-in Java Virtual Machine (JVM). Oracle 9i added more support for XML in 2001. In 2003, Oracle 10g was introduced with emphasis on the "g" for grid computing, which enables clusters of low-cost, industry standard servers to be treated as a single unit.&lt;/span&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/4961613010677964047-6772125445775745645?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/6772125445775745645/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=6772125445775745645' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/6772125445775745645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/6772125445775745645'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2011/09/meaning-of-i-and-g-in-oracle-9i-10g.html' title='Meaning of i and g in Oracle 9i &amp; 10g'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-2267170615755469486</id><published>2010-09-19T21:17:00.000-07:00</published><updated>2010-09-19T21:19:36.649-07:00</updated><title type='text'>Why should I use the -w argument with my Perl programs?</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="--"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin:0in;  mso-para-margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:"Times New Roman";  mso-fareast-theme-font:minor-fareast;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;} &lt;/style&gt; &lt;![endif]--&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Many Perl developers use the -w option of the interpreter, especially during the development stages of an application.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="--"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin:0in;  mso-para-margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:"Times New Roman";  mso-fareast-theme-font:minor-fareast;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;} &lt;/style&gt; &lt;![endif]--&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;This warning option turns on many warning messages that can help you understand and debug your applications.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="--"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin:0in;  mso-para-margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:"Times New Roman";  mso-fareast-theme-font:minor-fareast;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;} &lt;/style&gt; &lt;![endif]--&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;To use this option on Unix systems, just include it on the first line of the program, like this:&lt;br /&gt;#!/usr/bin/perl -w&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="--"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin:0in;  mso-para-margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:"Times New Roman";  mso-fareast-theme-font:minor-fareast;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;} &lt;/style&gt; &lt;![endif]--&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;If you develop Perl apps on a DOS/Windows computer, and you're creating a program named myApp.pl, you can turn on the warning messages when you run your program like this:&lt;br /&gt;&lt;br /&gt;perl -w myApp.pl &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-2267170615755469486?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/2267170615755469486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=2267170615755469486' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/2267170615755469486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/2267170615755469486'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2010/09/why-should-i-use-w-argument-with-my.html' title='Why should I use the -w argument with my Perl programs?'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-1447442338455485945</id><published>2010-08-11T23:32:00.000-07:00</published><updated>2010-08-11T23:34:35.839-07:00</updated><title type='text'>Env</title><content type='html'>&lt;div class="post-header"&gt;  &lt;/div&gt;  Perl provides access to environment variables via the global &lt;code&gt;"%ENV"&lt;/code&gt; hash. However, if using the ENV module, it will create global scalars for all the environment variables.&lt;br /&gt;&lt;pre style="font-family: courier new; color: rgb(0, 0, 0);"&gt;&lt;code&gt;&lt;/code&gt;&lt;blockquote style="color: rgb(51, 255, 51);"&gt;use Env;&lt;br /&gt;print "$USER uses $SHELL";&lt;/blockquote&gt;&lt;/pre&gt;If required to get only a few selected variables then it can be done like:&lt;pre&gt;&lt;code&gt;&lt;/code&gt;&lt;blockquote style="font-family: courier new; color: rgb(51, 255, 51);"&gt;&lt;code&gt;use Env qw[@PATH $USER];&lt;/code&gt;&lt;br /&gt;&lt;code&gt;print "$USER's  path is @PATH";&lt;/code&gt;&lt;/blockquote&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-1447442338455485945?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/1447442338455485945/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=1447442338455485945' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/1447442338455485945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/1447442338455485945'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2010/08/env.html' title='Env'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-4491615578400788946</id><published>2010-08-11T23:30:00.000-07:00</published><updated>2010-08-11T23:31:23.326-07:00</updated><title type='text'>FindBin</title><content type='html'>&lt;div class="post-header"&gt;  &lt;/div&gt; Its usage is like:&lt;pre&gt;&lt;blockquote&gt;&lt;span style="color: rgb(51, 255, 51);"&gt; use FindBin;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt; use lib "$FindBin::Bin/../lib";&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: georgia;"&gt;or&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;use FindBin qw($Bin);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;use lib "$Bin/../lib";&lt;/span&gt;&lt;/blockquote&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-4491615578400788946?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/4491615578400788946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=4491615578400788946' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/4491615578400788946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/4491615578400788946'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2010/08/findbin.html' title='FindBin'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-6769889479693058863</id><published>2010-08-11T23:17:00.000-07:00</published><updated>2010-08-11T23:29:00.609-07:00</updated><title type='text'>Using hash for counting</title><content type='html'>&lt;div class="post-header"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  When we have an array or a list of items and we want to find out the number of occurrences of a particular item then we generally use the following kind of logic:&lt;br /&gt;&lt;/div&gt;&lt;pre  style="color: rgb(0, 0, 0);font-family:courier new;"&gt;&lt;code&gt; &lt;span style="color: rgb(51, 255, 51);"&gt;my $count = 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt; for (@list) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;     $count++ if $_ eq "apple";&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt; }&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;This can be made better by using the grep function like:&lt;br /&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;    &lt;span style="color: rgb(51, 255, 51);"&gt;$count = grep $_ eq "apple", @list;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Here we use the list returned by grep in a scalar context here by getting the number of elements in the grep -ed list.However if we have to find the count for more than one element in the list, then by this approach we need to make repetitive sentences like:&lt;br /&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;    &lt;span style="color: rgb(51, 255, 51);"&gt;$count_apples = grep $_ eq "apple", @list;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;    $count_pears  = grep $_ eq "pear",  @list;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;A better method will be something like:&lt;br /&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;    &lt;span style="color: rgb(51, 255, 51);"&gt;my %histogram;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;    $histogram{$_}++ for @list;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;This hash  has a count of each individual item in the list and it also traverses the list only once.Moreover, to find number of unique elements in the list,all we have to do is:&lt;br /&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;    &lt;span style="color: rgb(51, 255, 51);font-family:courier new;" &gt;$unique = keys %histogram;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;In order to find the five most popular items in the list we can do something like:&lt;br /&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;    &lt;span style="color: rgb(51, 255, 51);"&gt;@popular = (sort { $histogram{$b} &lt;=&gt; $histogram{$a} } &lt;/span&gt;&lt;/code&gt;&lt;code style="color: rgb(51, 255, 51);"&gt;keys %histogram&lt;/code&gt;&lt;code style="color: rgb(51, 255, 51);"&gt;)[0..4];&lt;/code&gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;This sorts the unique elements of the list  ie the keys of hash, in a descending order and pulls out only the top five.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-6769889479693058863?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/6769889479693058863/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=6769889479693058863' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/6769889479693058863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/6769889479693058863'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2010/08/using-hash-for-counting.html' title='Using hash for counting'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-8311445431487929559</id><published>2010-08-11T23:13:00.000-07:00</published><updated>2010-08-11T23:14:24.020-07:00</updated><title type='text'>Copying and Substituting Simultaneously</title><content type='html'>&lt;div class="post-header"&gt;  &lt;/div&gt;  When the purpose is to search and replace a copy of the string and the intention is to accomplish this in one step then instead of doing this:&lt;br /&gt;&lt;pre style="color: rgb(51, 204, 0);" class="code"&gt;&lt;a name="perlckbk2-CHP-6-SECT-1.2"&gt;&lt;blockquote&gt;$dst = $src;&lt;br /&gt;$dst =~ s/this/that/;&lt;/blockquote&gt;&lt;/a&gt;&lt;/pre&gt;a single step like this will be more concise:&lt;br /&gt;&lt;pre style="color: rgb(51, 255, 51);" class="code"&gt;&lt;a name="perlckbk2-CHP-6-SECT-1.2"&gt;&lt;blockquote&gt;($dst = $src) =~ s/this/that/;&lt;/blockquote&gt;&lt;/a&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-8311445431487929559?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/8311445431487929559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=8311445431487929559' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/8311445431487929559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/8311445431487929559'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2010/08/copying-and-substituting-simultaneously.html' title='Copying and Substituting Simultaneously'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-8758109544918247602</id><published>2010-08-11T22:09:00.000-07:00</published><updated>2010-08-11T22:14:18.868-07:00</updated><title type='text'>WebAPP</title><content type='html'>&lt;span style="color: rgb(51, 255, 51);"&gt;WebAPP&lt;/span&gt; is a popular, open source Content Management System (cms) &lt;span style="color: rgb(51, 255, 51);"&gt;written in the Perl programming language&lt;/span&gt;. The name WebAPP is an abbreviation of Web Automated Perl Portal. Available under the GNU General Public License, WebAPP is free software. Features Enhanced crypt, Articles, Forums and nested message boards, Private Instant Messaging system (IM), Who is Online, Profile info, Memberlist, sortable with links to IM, Profile and Email Download and Link sections, Stats with advanced sorting options, Webabsed Site Administration control panel, About, Contact and Help pages, Custom Welcome messages for guests and registered members. Languages The WebAPP script is available in these languages Afrikaans, Albanian, Bosnian, Brazilian Portuguese, Bulgarian, Catalan, Chinese (Simplified), Chinese (Traditional), Czech, Danish, Dutch, English, Estonian, Finnish, French, German, Greek, Hebrew, Hungarian, Italian, Japanese, Ladino, Lithuanian, Polish, Portuguese, Russian, Slovenian, Somali, Spanish, Thai, Swedish, Vietnamese and Yiddish.&lt;br /&gt;&lt;br /&gt;WebAPP is the most fully-featured, versatile, free and open-source, flat-file Perl portal script available today! Acronym for &lt;i&gt;Web Automated Perl Portal&lt;/i&gt; ™, WebAPP is easily installed on virtually any UNIX-based server. WebAPP requires no SQL backend, no PHP, only a hosting environment offering support for Perl.&lt;br /&gt;Featuring the most complete (and growing) set of interactive community-building resources available, even an inexperienced webmaster can easily install WebAPP, login and personalize their portal, populate it with their content, and easily maintain, develop and administer the site.&lt;br /&gt;&lt;br /&gt; Refer More &lt;span style="font-weight: bold; color: rgb(255, 255, 0);"&gt;http://www.web-app.net/&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-8758109544918247602?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/8758109544918247602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=8758109544918247602' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/8758109544918247602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/8758109544918247602'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2010/08/webapp.html' title='WebAPP'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-4232064343560506929</id><published>2010-03-04T23:49:00.001-08:00</published><updated>2010-03-04T23:49:55.487-08:00</updated><title type='text'>difference between soft link and hard link</title><content type='html'>&lt;span id="sort1"&gt;&lt;span class="tdvamseel"&gt;&lt;p style="font-weight: bold;"&gt;Hard Links :&lt;/p&gt;&lt;p&gt;1. All Links have same inode number.&lt;/p&gt;&lt;p&gt;2.ls -l command shows all the links with the link column(Second) shows No. of links.&lt;/p&gt;&lt;p&gt;3. Links have actual file contents&lt;/p&gt;&lt;p&gt;4.Removing any link just reduces the link count but doesn't affect other links.&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;Soft Links(Symbolic Links) :&lt;/p&gt;&lt;p&gt;1.Links have different inode numbers.&lt;/p&gt;&lt;p&gt;2. ls -l command shows all links with second column value 1 and the link points to original file.&lt;/p&gt;&lt;p&gt;3. Link has the path for original file and not the contents.&lt;/p&gt;&lt;p&gt;4.Removing soft link doesn't affect anything but removing original file the link becomes dangling link which points to nonexistant file.&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-4232064343560506929?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/4232064343560506929/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=4232064343560506929' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/4232064343560506929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/4232064343560506929'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2010/03/difference-between-soft-link-and-hard.html' title='difference between soft link and hard link'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-125222136481285721</id><published>2010-02-09T01:40:00.000-08:00</published><updated>2010-02-09T01:49:40.310-08:00</updated><title type='text'>Changing your default UNIX file permissions</title><content type='html'>&lt;p&gt;To change the default permissions assigned to your UNIX files and directories, use the &lt;strong&gt;umask&lt;/strong&gt; command.  umask is a little confusing at first.  Its format is &lt;/p&gt;  &lt;pre&gt;umask nnn&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;  where &lt;em&gt;nnn&lt;/em&gt; is a three-digit code that defines the new default permissions.  The umask string does not have the same format as the the chmod permission string. &lt;/p&gt;  &lt;p&gt; Each of the three numbers represents one of the categories &lt;em&gt;user&lt;/em&gt;, &lt;em&gt;group&lt;/em&gt;, and &lt;em&gt;other&lt;/em&gt;.  The value for a category is calculated as follows: &lt;/p&gt;  &lt;pre&gt;read permission has a value of 4&lt;br /&gt;write permission has a value of 2&lt;br /&gt;execute permission has a value of 1&lt;br /&gt;&lt;br /&gt;Sum the permissions you want to set&lt;br /&gt;for the category, then subtract that&lt;br /&gt;value from 7.&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;  As an example, examine the current default umask statement that is used to assign the file protections -rwx-r-x--- : &lt;/p&gt;  &lt;pre&gt;umask 027&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;  The &lt;em&gt;user&lt;/em&gt; category value is 0 because r+w+x = 4+2+1 = 7.  When this  is subtracted from 7, the value is 0. &lt;/p&gt;  &lt;p&gt; The &lt;em&gt;group&lt;/em&gt; category value is 2 because r+x = 4+1 = 5.  When this  is subtracted from 7, the value is 2. &lt;/p&gt;  &lt;p&gt; The &lt;em&gt;other&lt;/em&gt; category value is 7 because no permissions = 0.  When this  is subtracted from 7, the value is 7. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-125222136481285721?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/125222136481285721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=125222136481285721' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/125222136481285721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/125222136481285721'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2010/02/changing-your-default-unix-file.html' title='Changing your default UNIX file permissions'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-8571550739291433325</id><published>2009-07-08T06:20:00.001-07:00</published><updated>2009-07-08T06:56:22.827-07:00</updated><title type='text'>Printing Environment Variables Using Perl One Liner</title><content type='html'>&lt;span style="color: rgb(51, 255, 51);font-family:times new roman;font-size:100%;"  &gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 255, 51);"&gt;Solution&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(255, 255, 51);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(255, 255, 51);"&gt;1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;C:\Documents and Settings\sivkumar&gt;perl&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;use Data::Dumper;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;print Dumper \%ENV;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 255, 51);"&gt;&lt;br /&gt;Solution&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(255, 255, 51);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(255, 255, 51);"&gt;2&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(255, 255, 51);"&gt; - &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(255, 255, 51);"&gt;Perl&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(255, 255, 51);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(255, 255, 51);"&gt;One&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(255, 255, 51);"&gt; Liner&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:12;"&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;span style="color: rgb(255, 204, 0);"&gt;perl -MData::Dumper -e "print Dumper \%ENV"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);font-family:times new roman;font-size:100%;"  &gt;&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/4961613010677964047-8571550739291433325?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/8571550739291433325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=8571550739291433325' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/8571550739291433325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/8571550739291433325'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2009/07/printing-environment-variables-in.html' title='Printing Environment Variables Using Perl One Liner'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-8149210845715887852</id><published>2009-07-06T23:19:00.000-07:00</published><updated>2009-07-06T23:21:19.801-07:00</updated><title type='text'>Tilde-Tilde Operator</title><content type='html'>&lt;div class="post-text"&gt;&lt;p style="color: rgb(51, 255, 51);"&gt;A bit obscure is the tilde-tilde "operator" which forces scalar context.&lt;/p&gt;  &lt;pre style="color: rgb(51, 255, 51);" class="prettyprint"&gt;&lt;code&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" &gt;&lt;span class="kwd"&gt;print&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;~~&lt;/span&gt;&lt;span class="pln"&gt; localtime&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;  &lt;p style="color: rgb(51, 255, 51);"&gt;is the same as&lt;/p&gt;  &lt;pre style="color: rgb(51, 255, 51);" class="prettyprint"&gt;&lt;code&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" &gt;&lt;span class="kwd"&gt;print&lt;/span&gt;&lt;span class="pln"&gt; scalar localtime&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;  &lt;p style="color: rgb(51, 255, 51);"&gt;and different from&lt;/p&gt;  &lt;pre class="prettyprint"&gt;&lt;code&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" &gt;&lt;span class="kwd"&gt;print&lt;/span&gt;&lt;span class="pln"&gt; localtime&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-8149210845715887852?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/8149210845715887852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=8149210845715887852' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/8149210845715887852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/8149210845715887852'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2009/07/tilde-tilde-operator.html' title='Tilde-Tilde Operator'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-2708100224218500644</id><published>2009-07-06T23:09:00.000-07:00</published><updated>2009-07-06T23:15:45.266-07:00</updated><title type='text'>Spaceship Operator.</title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;Easy with &lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;the&lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;Spaceship&lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);"&gt; Operator.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre class="prettyprint"&gt;&lt;span style="font-size:130%;"&gt;&lt;code&gt;&lt;span style="color: rgb(255, 204, 102);" class="pln"&gt;$a &lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="pun"&gt;=&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="pln"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="lit"&gt;2&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="pln"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="pun"&gt;&lt;=&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="pln"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="lit"&gt;5&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="pun"&gt;;&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="pln"&gt;  &lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="com"&gt;# $a is set to -1&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="pln"&gt;&lt;br /&gt;$a &lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="pun"&gt;=&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="pln"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="lit"&gt;5&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="pln"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="pun"&gt;&lt;=&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="pln"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="lit"&gt;2&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="pun"&gt;;&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="pln"&gt;  &lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="com"&gt;# $a is set to 1&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="pln"&gt;&lt;br /&gt;$a &lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="pun"&gt;=&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="pln"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="lit"&gt;2&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="pln"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="pun"&gt;&lt;=&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="pln"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="lit"&gt;2&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="pun"&gt;;&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="pln"&gt;  &lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);" class="com"&gt;# $a is set to 0&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-2708100224218500644?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/2708100224218500644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=2708100224218500644' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/2708100224218500644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/2708100224218500644'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2009/07/spaceship-operator.html' title='Spaceship Operator.'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-1024015733856046130</id><published>2009-07-06T22:56:00.000-07:00</published><updated>2009-07-06T23:15:25.228-07:00</updated><title type='text'>Non-Obvious features in perl.</title><content type='html'>&lt;p style="color: rgb(51, 255, 51);"&gt;&lt;span style="font-size:100%;"&gt;For example, did you know that there can be a space after a sigil?&lt;/span&gt;&lt;/p&gt;  &lt;pre style="color: rgb(51, 255, 51);" class="prettyprint"&gt;&lt;span style="font-size:100%;"&gt;&lt;code&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pln" &gt;&lt;span style="color: rgb(255, 204, 102);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 255, 102);"&gt;&lt;span style="color: rgb(255, 204, 102);"&gt;$ perl&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pun" &gt;-&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pln" &gt;wle &lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="str" &gt;'my $x = 3; print $ x'&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pln" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="lit" &gt;3&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p style="color: rgb(51, 255, 51);"&gt;&lt;span style="font-size:100%;"&gt;Or that there you can give subs numeric names if you use symbolic references?&lt;/span&gt;&lt;/p&gt;  &lt;pre style="color: rgb(51, 255, 51);" class="prettyprint"&gt;&lt;span style="font-size:100%;"&gt;&lt;code&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pln" &gt;$ perl &lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pun" &gt;-&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pln" &gt;lwe &lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="str" &gt;'*4 = sub { print "yes" }; 4-&gt;()'&lt;/span&gt;&lt;span class="pln"&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" &gt;yes&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p style="color: rgb(51, 255, 51);"&gt;&lt;span style="font-size:100%;"&gt;There's also the "bool" quasi operator, that return 1 for true expressions and the empty string for false:&lt;/span&gt;&lt;/p&gt;  &lt;pre style="color: rgb(51, 255, 51);" class="prettyprint"&gt;&lt;span style="font-size:100%;"&gt;&lt;code&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pln" &gt;$ perl &lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pun" &gt;-&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pln" &gt;wle &lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="str" &gt;'print !!4'&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pln" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="lit" &gt;1&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pln" &gt;&lt;br /&gt;$ perl &lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pun" &gt;-&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pln" &gt;wle &lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="str" &gt;'print !!"0 but true"'&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pln" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="lit" &gt;1&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pln" &gt;&lt;br /&gt;$ perl &lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pun" &gt;-&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pln" &gt;wle &lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="str" &gt;'print !!0'&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pln" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pun" &gt;(&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pln" &gt;empty line&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pun" &gt;)&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p style="color: rgb(51, 255, 51);"&gt;&lt;span style="font-size:100%;"&gt;Other interesting stuff: with &lt;code&gt;use overload&lt;/code&gt; you can overload string literals and numbers (and for example make them BigInts or whatever).&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(51, 255, 51);"&gt;&lt;span style="font-size:100%;"&gt;Many of these thins are actually documented somewhere, or follow logically from the documented features, but nonetheless some are not very well known.&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(51, 255, 51);"&gt;&lt;span style="font-size:100%;"&gt;&lt;em&gt;Update&lt;/em&gt;: Another nice one. Below the &lt;code&gt;q{...}&lt;/code&gt; quoting constructs were mentioned, but did you know that you can use letters as delimiters?&lt;/span&gt;&lt;/p&gt;  &lt;pre style="color: rgb(51, 255, 51);" class="prettyprint"&gt;&lt;span style="font-size:100%;"&gt;&lt;code&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pln" &gt;$ perl &lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pun" &gt;-&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="typ" &gt;Mstrict&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pln" &gt;  &lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pun" &gt;-&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pln" &gt;wle &lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="str" &gt;'print q bJet another perl hacker.b'&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pln" &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="typ" &gt;Jet&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pln" &gt; another perl hacker&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pun" &gt;.&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p style="color: rgb(51, 255, 51);"&gt;&lt;span style="font-size:100%;"&gt;Likewise you can write regexes&lt;/span&gt;&lt;/p&gt;  &lt;pre style="color: rgb(51, 255, 51);" class="prettyprint"&gt;&lt;span style="font-size:100%;"&gt;&lt;code&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="pln" &gt;m xabcx&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);font-size:130%;" class="com" &gt;# same as m/abc/&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-1024015733856046130?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/1024015733856046130/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=1024015733856046130' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/1024015733856046130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/1024015733856046130'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2009/07/non-obvious-features-in-perl.html' title='Non-Obvious features in perl.'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-6670329930882250432</id><published>2009-03-24T21:52:00.000-07:00</published><updated>2009-03-24T21:59:16.324-07:00</updated><title type='text'>Error : Can't do inplace edit without backup</title><content type='html'>&lt;span style="color: rgb(51, 255, 51);"&gt;I am writing a command line perl program to &lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;replace&lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;text&lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;content&lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;in&lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;a&lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;  file .I know that the following instruction executes successfully on one of the unix machine. I am trying to execute it through cygwin. &lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;b style="color: rgb(51, 255, 51);"&gt;&lt;span style="color: rgb(255, 153, 102);"&gt;perl -pi -e 's/siva/prabu/g;' TestScript.&lt;/span&gt;&lt;span style="color: rgb(255, 153, 102);"&gt;xml&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;But I get following error.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt; Can't do inplace edit without &lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;backup&lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;I tried to run:&lt;/span&gt;&lt;br /&gt; &lt;b style="color: rgb(255, 153, 102);"&gt;perl -pi  'Temp.bak' -e 's/siva/prabu/g;' TestScript.xml&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;It gives me &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt; Can't open -e: No such file or directory.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt; Can't open &lt;/span&gt;&lt;b style="color: rgb(51, 255, 51);"&gt;s/siva/prabu/g;&lt;/b&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;: No such file or directory.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt; Can't do inplace edit without backup.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 102); font-weight: bold;"&gt;Solution&lt;/span&gt;&lt;span style="color: rgb(255, 255, 102); font-weight: bold;"&gt; :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: rgb(255, 153, 102);"&gt;perl -pi.&lt;span&gt;bak &lt;/span&gt; -e 's/siva/prabu/g;' TestScript.xml&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;or&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b style="color: rgb(255, 153, 102);"&gt;perl -pi.&lt;span&gt;bak &lt;/span&gt; -e "/siva/prabu/g;" TestScript.xml&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-6670329930882250432?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/6670329930882250432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=6670329930882250432' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/6670329930882250432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/6670329930882250432'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2009/03/error-cant-do-inplace-edit-without.html' title='Error : Can&apos;t do inplace edit without backup'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-8605031808892069881</id><published>2009-03-23T23:59:00.000-07:00</published><updated>2009-03-24T00:08:54.576-07:00</updated><title type='text'>Special Variables - @ARGV</title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;i face="verdana" style="font-weight: bold; color: rgb(255, 255, 51);"&gt;@ARGV&lt;/i&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:verdana;font-size:100%;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;  &lt;pre  style="margin: 0in 0.5in 0.0001pt; text-align: justify; color: rgb(51, 255, 51);font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;Short Name   :&lt;span style=""&gt;          &lt;/span&gt;@ARGV&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre  style="margin: 0in 0.5in 0.0001pt; text-align: justify; color: rgb(51, 255, 51);font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;Scope        :&lt;span style=""&gt;          &lt;/span&gt;always global&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;p  style="text-align: justify; color: rgb(51, 255, 51);font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;This variable is an array of the arguments passed to the script. he first element of this array is the first argument (not the program name). As the arguments are processed, the value of this variable can alter. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p  style="text-align: justify; color: rgb(51, 255, 51);font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;Example: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="text-align: justify; color: rgb(51, 255, 51);font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: monospace;"&gt;&lt;/span&gt;$TestString = "There were $#ARGV arguments first arguments @ARGV[0]\n";&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="text-align: justify; color: rgb(51, 255, 51);font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: monospace;"&gt;&lt;/span&gt;print $&lt;/span&gt;&lt;span&gt;&lt;span style="font-size:100%;"&gt;TestString&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-8605031808892069881?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/8605031808892069881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=8605031808892069881' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/8605031808892069881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/8605031808892069881'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2009/03/special-variables-argv.html' title='Special Variables - @ARGV'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-2113762446818626922</id><published>2009-03-16T03:18:00.000-07:00</published><updated>2009-03-16T03:23:34.517-07:00</updated><title type='text'>Perl Handles Numbers</title><content type='html'>&lt;span style="color: rgb(51, 255, 51);"&gt;Perl can handle both whole numbers (integers, like 37) and floating-point numbers (real numbers with decimal points, like 17.5 or -235.2). Internally, Perl handles both as&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(255, 255, 51);"&gt; '&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 255, 51);font-size:100%;" &gt;&lt;span style="font-weight: bold;"&gt;double precision floating-point values&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(255, 255, 51);"&gt;'&lt;/span&gt;&lt;/span&gt;, but in Perl code they are treated the same way and can be used interchangeably. Here are some examples of number literals : &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;128 (positive integer) &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;-127 (negative integer)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;17.5 (positive floating number)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;-4.6E13 (negative 4.6 times 10 to the 13th power. E denotes exponential notation)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;The last numeric literal above is an example of exponential or scientific notation, used when you need to work with very large or very small numbers.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;In addition to decimal literals, Perl supports octal (base 8) and hexadecimal (base 16) literals.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;Octal literals are denoted by a leading 0, and hex literals by a leading 0x or 0X. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;For example:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;  0177 # 177 octal, same as 127 decimal&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;  0xf0 # f0 hexadecimal, same as 240 decimal&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;- 0Xff # negative ff hexadecimal, same as -255 in decimal&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;Many people writing Perl programs will never need to work with octal or hex numbers - but be careful not to specify decimal numbers with a leading zero, because Perl will interpret them as octal.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-2113762446818626922?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/2113762446818626922/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=2113762446818626922' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/2113762446818626922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/2113762446818626922'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2009/03/perl-handles-numbers.html' title='Perl Handles Numbers'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-3381860476972586076</id><published>2009-03-16T02:56:00.000-07:00</published><updated>2009-03-16T03:10:13.502-07:00</updated><title type='text'>Basic Naming Rules in Perl</title><content type='html'>&lt;ul style="color: rgb(51, 255, 51);"&gt;&lt;li&gt;Variable names can start with a letter, a number, or an underscore, &lt;span&gt;although&lt;/span&gt; they normally begin with a letter and can then be composed of any &lt;span&gt;combination&lt;/span&gt; of letters, numbers, and the underscore character.&lt;/li&gt;&lt;li&gt;Variables can start with a number, but they must be entirely composed of that number; for example, &lt;span style="color: rgb(255, 153, 102);"&gt;$123&lt;/span&gt; is valid, but &lt;span style="color: rgb(255, 153, 102);"&gt;$1var&lt;/span&gt; is not.&lt;/li&gt;&lt;li&gt;Variable names that start with anything other than a letter, digit, or underscore are generally reserved for special use by Perl&lt;/li&gt;&lt;li&gt;Variable names are case sensitive; &lt;span style="color: rgb(255, 153, 102);"&gt;$foo, $FOO, and $fOo&lt;/span&gt; are all separate variables as far as Perl is concerned.&lt;/li&gt;&lt;li&gt;As an unwritten (and therefore unenforced) rule, names all in uppercase are constants.&lt;/li&gt;&lt;li&gt;All scalar values start with $, including those accessed from an array of hash,for example &lt;span style="color: rgb(255, 153, 102);"&gt;$array[0] or $hash{key}&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;All array values start with @, including arrays or hashes accessed in slices,for example &lt;span style="color: rgb(255, 153, 102);"&gt;@array[3..5,7,9] or @hash{‘bob’, ‘alice’}.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Namespaces are separate for each variable type—the variables &lt;span style="color: rgb(255, 153, 102);"&gt;$var, @var, &lt;/span&gt;&lt;span style="color: rgb(255, 153, 102);"&gt;and&lt;/span&gt;&lt;span style="color: rgb(255, 153, 102);"&gt; %var&lt;/span&gt; are all different variables in their own right.FUNDAMENTALS In situations where a variable name might get confused with other data (such as when embedded within a string), you can use braces to quote the name. For example, ${name}, or %{hash}.&lt;/li&gt;&lt;li&gt;Limited to 255 characters, however. We hope that suffices&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-3381860476972586076?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/3381860476972586076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=3381860476972586076' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/3381860476972586076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/3381860476972586076'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2009/03/variable-names-can-start-with-letter_16.html' title='Basic Naming Rules in Perl'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-1068835730999066231</id><published>2009-03-10T00:11:00.000-07:00</published><updated>2009-03-10T00:21:49.033-07:00</updated><title type='text'>Printing a Hash</title><content type='html'>&lt;pre class="SCREEN"&gt;&lt;span style="color: rgb(245, 222, 179);font-size:78%;" &gt;&lt;span style="color: rgb(190, 190, 190);"&gt;&lt;span style="color: rgb(255, 255, 51);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Solution&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;&lt;span style="color: rgb(255, 255, 51);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt; :&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 165, 0);font-size:130%;" &gt;while&lt;/span&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(255, 153, 102);font-size:130%;" &gt;$key,$value&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-size:130%;"&gt; = &lt;/span&gt;&lt;span style="color: rgb(255, 127, 80);font-size:130%;" &gt;each&lt;/span&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;span style="color: rgb(205, 205, 0);font-size:130%;" &gt;%hash&lt;/span&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);font-size:130%;" &gt;{&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 127, 80);font-size:130%;" &gt;print&lt;/span&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 205, 0);font-size:130%;" &gt;"$k =&gt; $v\n"&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);font-size:130%;" &gt;;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);font-size:130%;" &gt;}&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(190, 190, 190);"&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-weight: bold;font-size:130%;" &gt;Solution&lt;/span&gt;&lt;span style="color: rgb(255, 255, 51); font-weight: bold;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(255, 255, 51); font-weight: bold;font-size:130%;" &gt;2&lt;/span&gt;&lt;span style="color: rgb(51, 255, 51); font-weight: bold;"&gt;&lt;span style="color: rgb(255, 255, 51);font-size:130%;" &gt; :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 127, 80);font-size:130%;" &gt;print&lt;/span&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 127, 80);font-size:130%;" &gt;map&lt;/span&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);font-size:130%;" &gt;{&lt;/span&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 205, 0);font-size:130%;" &gt;"$_ =&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);font-size:130%;" &gt;$hash&lt;/span&gt;&lt;span style="color: rgb(0, 205, 0);font-size:130%;" &gt;{$_}\n"&lt;/span&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);font-size:130%;" &gt;}&lt;/span&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 127, 80);font-size:130%;" &gt;keys&lt;/span&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);font-size:130%;" &gt;%hash&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);font-size:130%;" &gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(190, 190, 190);"&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-weight: bold;font-size:130%;" &gt;Solution&lt;/span&gt;&lt;span style="color: rgb(255, 255, 51); font-weight: bold;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(255, 255, 51); font-weight: bold;font-size:130%;" &gt;3&lt;/span&gt;&lt;span style="color: rgb(255, 255, 51); font-weight: bold;font-size:130%;" &gt; :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 127, 80);font-size:130%;" &gt;print&lt;/span&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 205, 0);font-size:130%;" &gt;"@{[ &lt;/span&gt;&lt;span style="color: rgb(205, 205, 0);font-size:130%;" &gt;%hash&lt;/span&gt;&lt;span style="color: rgb(0, 205, 0);font-size:130%;" &gt; ]}\n"&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);font-size:130%;" &gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(190, 190, 190);"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-weight: bold;font-size:130%;" &gt;Solution&lt;/span&gt;&lt;span style="color: rgb(255, 255, 51); font-weight: bold;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(255, 255, 51); font-weight: bold;font-size:130%;" &gt;4&lt;/span&gt;&lt;span style="color: rgb(255, 255, 51); font-weight: bold;font-size:130%;" &gt; : &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);font-size:130%;" &gt;{&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 165, 0);font-size:130%;" &gt;my&lt;/span&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);font-size:130%;" &gt;@temp&lt;/span&gt;&lt;span style="font-size:130%;"&gt; = &lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);font-size:130%;" &gt;%hash&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);font-size:130%;" &gt;;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 127, 80);font-size:130%;" &gt;print&lt;/span&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 205, 0);font-size:130%;" &gt;"&lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);font-size:130%;" &gt;@temp&lt;/span&gt;&lt;span style="color: rgb(0, 205, 0);font-size:130%;" &gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);font-size:130%;" &gt;;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);font-size:130%;" &gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(190, 190, 190);"&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-weight: bold;font-size:130%;" &gt;Solution&lt;/span&gt;&lt;span style="color: rgb(255, 255, 51); font-weight: bold;font-size:130%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(255, 255, 51); font-weight: bold;font-size:130%;" &gt;5&lt;/span&gt;&lt;span style="color: rgb(255, 255, 51); font-weight: bold;font-size:130%;" &gt; :&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 165, 0);font-size:130%;" &gt;foreach&lt;/span&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);font-size:130%;" &gt;$k&lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);font-size:130%;" &gt;ey&lt;/span&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);font-size:130%;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(255, 127, 80);font-size:130%;" &gt;sort&lt;/span&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 127, 80);font-size:130%;" &gt;keys&lt;/span&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);font-size:130%;" &gt;%hash&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);font-size:130%;" &gt;)&lt;/span&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);font-size:130%;" &gt;{&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 127, 80);font-size:130%;" &gt;print&lt;/span&gt;&lt;span style="font-size:130%;"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 205, 0);font-size:130%;" &gt;"$key =&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);font-size:130%;" &gt;$hash&lt;/span&gt;&lt;span style="color: rgb(0, 205, 0);font-size:130%;" &gt;{$key}\n"&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);font-size:130%;" &gt;;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);font-size:130%;" &gt;}&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(190, 190, 190);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-1068835730999066231?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/1068835730999066231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=1068835730999066231' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/1068835730999066231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/1068835730999066231'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2009/03/solution-1-while-keyvalue-each-hash.html' title='Printing a Hash'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-8942199744556557194</id><published>2009-03-09T03:44:00.000-07:00</published><updated>2009-03-09T03:47:45.095-07:00</updated><title type='text'>How to Take a Hash Slice</title><content type='html'>&lt;span style="color: rgb(51, 255, 51);"&gt;Assign some variables of a hash to an array. i.e you want to take some of the elements from hash based on there keys into a array here is a trick&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-weight: normal; color: rgb(255, 153, 102);font-size:100%;" &gt;%hash = ( 1 =&gt; 'one', 2 =&gt; 'two',3 =&gt; 'three');&lt;br /&gt;@array = @hash{'1','2'}; &lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;If you  have a hashref and want to take the values of some keys into an array you can do the following.&lt;/span&gt;&lt;br /&gt;&lt;b style="color: rgb(255, 153, 102);"&gt;&lt;br /&gt;&lt;/b&gt;&lt;strong style="color: rgb(255, 153, 102);"&gt;&lt;span style="font-weight: normal;"&gt;$hashref = {1 =&gt; 'one', 2 =&gt; 'two', 3 =&gt; 'three'};&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;@array = @{%$hashref}{'1','2'};&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt; &lt;pre class="SCREEN"&gt;&lt;span style="color: rgb(245, 222, 179);font-size:78%;" &gt;&lt;span style="color: rgb(190, 190, 190);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-8942199744556557194?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/8942199744556557194/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=8942199744556557194' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/8942199744556557194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/8942199744556557194'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2009/03/how-to-take-hash-slice.html' title='How to Take a Hash Slice'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-8825208414553330533</id><published>2009-03-09T02:33:00.000-07:00</published><updated>2009-03-09T03:05:19.735-07:00</updated><title type='text'>Establishing a Default Value</title><content type='html'>&lt;pre class="SCREEN"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(245, 222, 179);"&gt;&lt;span style="color: rgb(190, 190, 190);"&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;# use $b if $b is true, else $c&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 153, 102);"&gt;$a = $b || $c&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;;&lt;/span&gt;&lt;span style="color: rgb(67, 205, 128);"&gt;              &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(190, 190, 190);"&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;# set $x to $y unless $x is already true&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 153, 102);"&gt;$x ||= $y&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(190, 190, 190);"&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;# use $b if $b is defined, else $c&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 153, 102);"&gt;$a = &lt;/span&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;defined&lt;/span&gt;&lt;span style="color: rgb(255, 153, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(255, 153, 102);"&gt;$b&lt;/span&gt;&lt;span style="color: rgb(255, 153, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(255, 153, 102);"&gt; ? $b : $c&lt;/span&gt;&lt;span style="color: rgb(255, 153, 102);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(190, 190, 190);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 153, 102);"&gt;$foo = $bar ||&lt;/span&gt; &lt;span style="color: rgb(0, 205, 0);"&gt;"DEFAULT VALUE"&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(190, 190, 190);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 153, 102);"&gt;$dir =&lt;/span&gt; &lt;span style="color: rgb(255, 127, 80);"&gt;shift&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(205, 173, 0);"&gt;@ARGV&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;)&lt;/span&gt; || &lt;span style="color: rgb(0, 205, 0);"&gt;"/tmp"&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(190, 190, 190);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 153, 102);"&gt;$dir =&lt;/span&gt; &lt;span style="color: rgb(205, 173, 0);"&gt;$ARGV&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;[&lt;/span&gt;&lt;span style="color: rgb(205, 205, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;]&lt;/span&gt; || &lt;span style="color: rgb(0, 205, 0);"&gt;"/tmp"&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(190, 190, 190);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 153, 102);"&gt;$dir = &lt;/span&gt;&lt;span style="color: rgb(255, 127, 80);"&gt;defined&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(205, 173, 0);"&gt;$ARGV&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;[&lt;/span&gt;&lt;span style="color: rgb(205, 205, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;])&lt;/span&gt; &lt;span style="color: rgb(255, 153, 102);"&gt;? &lt;/span&gt;&lt;span style="color: rgb(255, 127, 80);"&gt;shift&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(205, 173, 0);"&gt;@ARGV&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;)&lt;/span&gt; : &lt;span style="color: rgb(0, 205, 0);"&gt;"/tmp"&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(190, 190, 190);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 153, 102);"&gt;$dir = &lt;/span&gt;&lt;span style="color: rgb(205, 173, 0);"&gt;@ARGV&lt;/span&gt; &lt;span style="color: rgb(255, 153, 102);"&gt;?&lt;/span&gt; &lt;span style="color: rgb(205, 173, 0);"&gt;$ARGV&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;[&lt;/span&gt;&lt;span style="color: rgb(205, 205, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;]&lt;/span&gt; &lt;span style="color: rgb(255, 153, 102);"&gt;:&lt;/span&gt; &lt;span style="color: rgb(0, 205, 0);"&gt;"/tmp"&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(190, 190, 190);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(190, 190, 190);"&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;# find the user name on Unix systems&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 153, 102);"&gt;$user = &lt;/span&gt;&lt;span style="color: rgb(205, 205, 0);"&gt;$ENV&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;{&lt;/span&gt;&lt;span style="color: rgb(0, 205, 0);"&gt;USER&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;}&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: rgb(255, 153, 102);"&gt;||&lt;/span&gt; &lt;span style="color: rgb(205, 205, 0);"&gt;$ENV&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;{&lt;/span&gt;&lt;span style="color: rgb(0, 205, 0);"&gt;LOGNAME&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;}&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: rgb(255, 153, 102);"&gt;||&lt;/span&gt; &lt;span style="color: rgb(51, 255, 51);"&gt;getlogin&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;()&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 153, 102);"&gt; || &lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;getpwuid&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(255, 153, 102);"&gt;$&lt;&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;))[&lt;/span&gt;&lt;span style="color: rgb(205, 205, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;]&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 153, 102);"&gt;  ||&lt;/span&gt; &lt;span style="color: rgb(0, 205, 0);"&gt;"Unknown uid number $&lt;"&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;;&lt;/span&gt;&lt;span style="color: rgb(190, 190, 190);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(190, 190, 190);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(205, 173, 0);"&gt;@a&lt;/span&gt; &lt;span style="color: rgb(255, 153, 102);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(205, 173, 0);"&gt;@b&lt;/span&gt; &lt;span style="color: rgb(255, 165, 0);"&gt;unless&lt;/span&gt; &lt;span style="color: rgb(205, 173, 0);"&gt;@a&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;;&lt;/span&gt;    &lt;span style="color: rgb(190, 190, 190);"&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;# copy only if empty&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(205, 173, 0);"&gt;@a&lt;/span&gt; &lt;span style="color: rgb(255, 153, 102);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(205, 173, 0);"&gt;@b&lt;/span&gt; &lt;span style="color: rgb(255, 153, 102);"&gt;?&lt;/span&gt; &lt;span style="color: rgb(205, 173, 0);"&gt;@b&lt;/span&gt; &lt;span style="color: rgb(255, 153, 102);"&gt;:&lt;/span&gt; &lt;span style="color: rgb(205, 173, 0);"&gt;@c&lt;/span&gt;&lt;span style="color: rgb(0, 255, 255);"&gt;;&lt;/span&gt;    &lt;span style="color: rgb(51, 255, 51);"&gt;# assign &lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;@b&lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);"&gt; if nonempty, else &lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;@c&lt;/span&gt;&lt;span style="color: rgb(190, 190, 190);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-8825208414553330533?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/8825208414553330533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=8825208414553330533' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/8825208414553330533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/8825208414553330533'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2009/03/establishing-default-value.html' title='Establishing a Default Value'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-3622332522481526737</id><published>2009-03-06T04:00:00.000-08:00</published><updated>2009-03-06T04:01:44.850-08:00</updated><title type='text'>Get Pathname Of Current Working Directory</title><content type='html'>&lt;big style="color: rgb(255, 255, 51);"&gt;&lt;b&gt;Windows :&lt;/b&gt;&lt;/big&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;use File::Spec;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt; my $current_directory = File::Spec-&gt;rel2abs(".");&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt; print $current_directory;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;big&gt;&lt;span style="color: rgb(255, 255, 51);"&gt;Unix &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/big&gt;&lt;/b&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;use Cwd;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt; my $current_directory = getcwd;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt; print "$current_directory";&lt;/span&gt;&lt;br /&gt; &lt;p style="color: rgb(51, 255, 51);"&gt;    use Cwd;&lt;br /&gt;    $dir = cwd;&lt;/p&gt;   &lt;p style="color: rgb(51, 255, 51);"&gt;    use Cwd;&lt;br /&gt;    $dir = fastgetcwd;&lt;/p&gt;  &lt;p style="color: rgb(51, 255, 51);"&gt;use Cwd 'abs_path';&lt;br /&gt;    print abs_path($ENV{'PWD'});&lt;/p&gt;  &lt;p style="color: rgb(51, 255, 51);"&gt;    use Cwd 'fast_abs_path';&lt;br /&gt;    print fast_abs_path($ENV{'PWD'});&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-3622332522481526737?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/3622332522481526737/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=3622332522481526737' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/3622332522481526737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/3622332522481526737'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2009/03/get-pathname-of-current-working.html' title='Get Pathname Of Current Working Directory'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-1463385194293696026</id><published>2009-03-06T02:42:00.000-08:00</published><updated>2009-03-06T03:20:11.066-08:00</updated><title type='text'>Ordered Hashes</title><content type='html'>&lt;p style="color: rgb(51, 255, 51);"&gt;&lt;span style="font-size:100%;"&gt;Perl hashes have no internal order. A hash consists of a  number of  &lt;b&gt;"buckets''&lt;/b&gt;. When a record is inserted into the hash, the key is  transformed, using a &lt;b&gt;"hash function''&lt;/b&gt;, into a bucket number. The details of the  hash function itself are not important, but a good hash function ensures that  even very similar keys are mapped to different buckets. If too many keys map to  the same bucket, then Perl has to spend a lot of time searching through that  bucket for the corresponding value.&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(51, 255, 51);"&gt;&lt;span style="font-size:100%;"&gt;The important thing is not &lt;em&gt;how&lt;/em&gt; Perl puts the key into the hash table  but what the table gives us. To find if a value is in a hash, Perl takes the key  name supplied, applies the same transformation and checks to see whether the key  is in that position. This is much faster than searching through an ordered  list.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;However, while we often appreciate the speed in which hashes work, sometimes  we want to maintain key order as well. A common solution is to create both our  hash and an array. The array stores the keys in sorted order and we can then  iterate through our has as required:&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt; &lt;pre&gt;&lt;span style="font-size:100%;"&gt;        &lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);font-size:100%;" &gt;my @idNumbers = qw(101 102 ... );&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);font-size:100%;" &gt;        &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);font-size:100%;" &gt;        my %nameMapping = ( 101 =&gt; 'Siva', 102 =&gt; 'Sakthi', ... );&lt;/span&gt;&lt;/pre&gt; &lt;pre&gt;&lt;span style="color: rgb(51, 255, 51);font-size:100%;" &gt;        foreach my $Key ( @idNumbers ) {&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);font-size:100%;" &gt;                print "$Key : $nameMapping{$Key} \n";&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);font-size:100%;" &gt;        }&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;   &lt;p style="color: rgb(51, 255, 51);"&gt;&lt;span style="font-size:100%;"&gt;If @idNumbers and %nameMapping are created in one place in  our program and then never changed (such as could be expected for a list of  months of the year) then this is a very good solution. However if our hash is  likely to grow over time then we can encounter problems. What happens if a key  is added to one structure but not the other?&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;Fortunately there are better solutions.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:130%;"&gt;&lt;b style="color: rgb(255, 255, 51);"&gt;Tie::InsertOrderHash&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt; &lt;pre&gt;&lt;span style="font-size:100%;"&gt;        &lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);font-size:100%;" &gt;use Tie::InsertOrderHash;&lt;/span&gt;&lt;/pre&gt; &lt;pre style="color: rgb(51, 255, 51);"&gt;&lt;span style="font-size:100%;"&gt;        tie my %nameMapping =&gt; 'Tie::InsertOrderHash',&lt;br /&gt;             101   =&gt; 'Siva',&lt;br /&gt;             102   =&gt; 'Sakthi',&lt;br /&gt;             103   =&gt; 'Swetha',&lt;br /&gt;             104   =&gt; 'Saran',&lt;br /&gt;             105   =&gt; 'Darwin';              &lt;/span&gt;&lt;/pre&gt; &lt;pre style="color: rgb(51, 255, 51);"&gt;&lt;span style="font-size:100%;"&gt;        print join(" ", keys %nameMapping), "\n";&lt;/span&gt;&lt;/pre&gt; &lt;pre&gt;&lt;span style="color: rgb(51, 255, 51);font-size:100%;" &gt;        # prints: 101,102,103,104,105&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt; &lt;p style="color: rgb(51, 255, 51);"&gt;&lt;span style="font-size:100%;"&gt;In the above example, we're setting the hash at creation time. This is not required. We can add our values to our hash whenever we desire, just like a normal hash, further, our values can be any kind of value we can normally use in a hash.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="color: rgb(255, 255, 51);font-size:130%;" &gt;Tie::IxHash&lt;/span&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="color: rgb(51, 255, 51);"&gt;&lt;span style="font-size:100%;"&gt;&lt;code&gt;Tie::InsertOrderHash&lt;/code&gt; does not allow you to change values in your hash and keep the original ordering. Thus, as mentioned above, updating the keys in 102 will cause 102 to now appear after 105 when listing the keys.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color: rgb(51, 255, 51);font-size:100%;" &gt;If you want to be able to change values without changing the ordering then  &lt;code&gt;Tie::IxHash&lt;/code&gt; may be a better option.&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt; &lt;pre&gt;&lt;span style="font-size:100%;"&gt;       &lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);font-size:100%;" &gt; use Tie::IxHash;&lt;/span&gt;&lt;/pre&gt;  &lt;pre style="color: rgb(51, 255, 51);"&gt;&lt;span style="font-size:100%;"&gt;        tie my %nameMapping =&gt; 'Tie::IxHash',&lt;br /&gt;             101   =&gt; 'Siva',&lt;br /&gt;             102   =&gt; 'Sakthi',&lt;br /&gt;             103   =&gt; 'Swetha',&lt;br /&gt;             104   =&gt; 'Saran',&lt;br /&gt;             105   =&gt; 'Darwin';&lt;br /&gt;   &lt;br /&gt;     # Update Hash Value&lt;br /&gt;     $nameMapping{102} = 'Kumar';&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;  &lt;pre style="color: rgb(51, 255, 51);"&gt;&lt;span style="font-size:100%;"&gt;        print join(" ", keys %nameMapping), "\n";&lt;/span&gt;&lt;/pre&gt;  &lt;pre&gt;&lt;span style="color: rgb(51, 255, 51);font-size:100%;" &gt;        # prints: 101,102,103,104,105&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt; &lt;p&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;There is also &lt;/span&gt;&lt;code style="color: rgb(51, 255, 51);"&gt;Tie::Hash::Indexed&lt;/code&gt;&lt;span style="color: rgb(51, 255, 51);"&gt; which provides less features  than &lt;/span&gt;&lt;code style="color: rgb(51, 255, 51);"&gt;Tie::IxHash&lt;/code&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;, but is considerably faster.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(51, 255, 51);"&gt;&lt;span style="font-size:100%;"&gt;To get a similar behaviour to &lt;code&gt;Tie::InsertOrderHash&lt;/code&gt; you can  &lt;code&gt;delete&lt;/code&gt; a key-value pair from your hash before providing the new  value. Thus if we were to write:&lt;/span&gt;&lt;/p&gt; &lt;p style="color: rgb(51, 255, 51);"&gt;&lt;span style="font-size:100%;"&gt;        delete($nameMapping{102} );         &lt;/span&gt;&lt;/p&gt; &lt;p style="color: rgb(51, 255, 51);"&gt;&lt;span style="font-size:100%;"&gt;$nameMapping{102} = 'KumarS';&lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(51, 255, 51);"&gt;&lt;span style="font-size:100%;"&gt;then June would be considered to have been inserted last.&lt;/span&gt;&lt;/p&gt; &lt;pre&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-1463385194293696026?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/1463385194293696026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=1463385194293696026' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/1463385194293696026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/1463385194293696026'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2009/03/ordered-hashes.html' title='Ordered Hashes'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-8787939165839863159</id><published>2009-03-05T00:04:00.000-08:00</published><updated>2009-03-05T00:05:14.817-08:00</updated><title type='text'>How many ways can we express string in Perl</title><content type='html'>&lt;span style="font-size: 10pt; font-family: Verdana; color: rgb(51, 255, 51);"&gt;Many.&lt;br /&gt;&lt;br /&gt;For example&lt;br /&gt;&lt;br /&gt;'this is a string' can be expressed in:&lt;br /&gt;"this is a string"&lt;br /&gt;qq/this is a string like double-quoted string/&lt;br /&gt;qq^this is a string like double-quoted string^&lt;br /&gt;q/this is a string/&lt;br /&gt;q&amp;amp;this is a string&amp;amp;&lt;br /&gt;q(this is a string)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-8787939165839863159?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/8787939165839863159/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=8787939165839863159' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/8787939165839863159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/8787939165839863159'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2009/03/how-many-ways-can-we-express-string-in.html' title='How many ways can we express string in Perl'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-1660046147668019564</id><published>2009-03-03T02:24:00.000-08:00</published><updated>2009-03-03T02:25:50.095-08:00</updated><title type='text'>TypeGlobes</title><content type='html'>&lt;span style="color: rgb(51, 255, 51);"&gt;The typeglob is a composite data type that contains one instance of each other data types. It is an amalgam of all Perl’s data types, from which it gets its name. It is a sort of ‘super reference’ whose value is not a single reference to something but six slots that can contain six different references, all at once: &lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);" class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;a.scalar – A reference to scalar&lt;br /&gt;b.array – A reference to array&lt;br /&gt;c.hash – A reference to hash&lt;br /&gt;d.code – A reference to a subroutine&lt;br /&gt;e.handle  – A file or directory handle&lt;br /&gt;f.format – A format definition&lt;br /&gt;&lt;br /&gt;Defining Typeglobs:&lt;br /&gt;$message = “Some text”;&lt;br /&gt;*missive = *message;&lt;br /&gt;print $missive; # prints “some text”;&lt;br /&gt;or&lt;br /&gt;*glob = \$scalar;&lt;br /&gt;*glob = \@arr;&lt;br /&gt;*glob = \%hash;&lt;br /&gt;*glob = sub { return “\n Try this !” };&lt;br /&gt;&lt;br /&gt;Manipulating Typeglobs:&lt;br /&gt;print “\n $glob “;&lt;br /&gt;print “\n @glob ”;&lt;br /&gt;foreach $key (keys %glob)&lt;br /&gt;         {&lt;br /&gt;          print “\n $key =&gt; $glob{$key} “;&lt;br /&gt;         }&lt;br /&gt;print glob();&lt;br /&gt;&lt;br /&gt;Accessing Typeglobs:&lt;br /&gt;$scalarref = *glob{SCALAR};&lt;br /&gt;$arrayref = *glob{ARRAY};&lt;br /&gt;$hashref = *glob{HASH};&lt;br /&gt;$subref = *glob{CODE};&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-1660046147668019564?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/1660046147668019564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=1660046147668019564' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/1660046147668019564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/1660046147668019564'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2009/03/typeglobes.html' title='TypeGlobes'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-970024124633116712</id><published>2009-02-18T22:41:00.000-08:00</published><updated>2009-02-18T22:42:01.581-08:00</updated><title type='text'>Use of pragma strict.</title><content type='html'>&lt;p style="color: rgb(51, 255, 51);" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Use the pragma strict tells the compiler to generate three types of errors&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul style="margin-top: 0in; color: rgb(51, 255, 51);" type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;An error for any variables used before it was declared&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;An error if your code uses symbolic references&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;An error if your code uses bare words&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-970024124633116712?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/970024124633116712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=970024124633116712' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/970024124633116712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/970024124633116712'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2009/02/use-of-pragma-strict.html' title='Use of pragma strict.'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-4127771770908750796</id><published>2009-02-18T22:39:00.000-08:00</published><updated>2009-02-18T22:40:10.426-08:00</updated><title type='text'>How to turn on Perl warnings? Why is that important?</title><content type='html'>&lt;p style="color: rgb(51, 255, 51);"&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Perl is very forgiving of strange and sometimes wrong code, which can mean hours spent searching for bugs and weird results.&lt;br /&gt;Turning on warnings helps uncover common mistakes and strange places and save a lot of debugging time in the long run.&lt;br /&gt;There are various ways of turning on Perl warnings: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul style="color: rgb(51, 255, 51);" type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;For Perl one-liner, use -w option on the command line. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;On Unix or Windows, use the -w option in the shebang line (The first # line in the script). Note: Windows Perl interpreter may not require it. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;For other systems, choose compiler warnings, or check compiler documentation.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-4127771770908750796?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/4127771770908750796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=4127771770908750796' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/4127771770908750796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/4127771770908750796'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2009/02/how-to-turn-on-perl-warnings-why-is.html' title='How to turn on Perl warnings? Why is that important?'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-7683138976321569365</id><published>2009-02-18T22:37:00.001-08:00</published><updated>2009-02-18T22:37:53.810-08:00</updated><title type='text'>How to Run the Shell Script or External Unix or System Commands In Perl ?</title><content type='html'>&lt;ul style="color: rgb(51, 255, 51);"&gt;&lt;li&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Exec&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;system&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;backquotes (``)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: 10pt; font-family: Verdana;"&gt;Using Pipe Symbol In open&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-7683138976321569365?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/7683138976321569365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=7683138976321569365' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/7683138976321569365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/7683138976321569365'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2009/02/how-to-run-shell-script-or-external.html' title='How to Run the Shell Script or External Unix or System Commands In Perl ?'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-8029905648471459134</id><published>2009-02-18T22:34:00.000-08:00</published><updated>2009-02-18T22:36:09.535-08:00</updated><title type='text'>What is stack concepts In Perl ?</title><content type='html'>&lt;pre style="font-family: verdana; color: rgb(51, 255, 51);"&gt;One of the most basic uses for an array is as stack&lt;o:p&gt;&lt;/o:p&gt;&lt;/pre&gt; &lt;pre style="font-family: verdana; color: rgb(51, 255, 51);"&gt;push | pop ==&gt; LIFO&lt;o:p&gt;&lt;/o:p&gt;&lt;/pre&gt; &lt;pre style="font-family: verdana; color: rgb(51, 255, 51);"&gt;shift | unshift ==&gt; FIFO&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-8029905648471459134?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/8029905648471459134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=8029905648471459134' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/8029905648471459134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/8029905648471459134'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2009/02/what-is-stack-concepts-in-perl.html' title='What is stack concepts In Perl ?'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-3772075026806939783</id><published>2009-02-18T01:07:00.000-08:00</published><updated>2009-03-04T23:06:06.120-08:00</updated><title type='text'>How do you find the length of an array?</title><content type='html'>&lt;p&gt;&lt;b&gt;&lt;span style="color: rgb(51, 51, 153);font-family:Verdana;font-size:10;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color: rgb(51, 51, 153);font-family:Verdana;font-size:10;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul style="color: rgb(51, 255, 51);"&gt;&lt;li&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;$#array &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt; &lt;ul style="color: rgb(51, 255, 51);"&gt;&lt;li&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;Scalar(@array)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt; &lt;ul style="color: rgb(51, 255, 51);"&gt;&lt;li&gt;&lt;span style=";font-family:Verdana;font-size:10;"  &gt;$length = @array ;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-3772075026806939783?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/3772075026806939783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=3772075026806939783' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/3772075026806939783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/3772075026806939783'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2009/02/how-do-you-find-length-of-array.html' title='How do you find the length of an array?'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-5422224213047682206</id><published>2009-02-18T00:54:00.000-08:00</published><updated>2009-02-18T01:06:16.536-08:00</updated><title type='text'>What is difference between "Use" and "require"</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;span style="color: rgb(51, 0, 153); font-weight: bold; font-style: italic;"&gt;Use :&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="color: rgb(51, 255, 51);" class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;1. The method is used only for the modules(only to include .pm type file)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="color: rgb(51, 255, 51);" class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;2. The included objects are varified at the time of compilation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="color: rgb(51, 255, 51);" class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;3. No Need to give file extension.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style="color: rgb(51, 255, 51);font-family:Verdana;font-size:85%;"  &gt;Use: only for modules, included objects are verified at the time of compilation&lt;/span&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;&lt;b style="font-style: italic; color: rgb(255, 153, 0);"&gt;&lt;span style="color: rgb(51, 0, 153);"&gt;Require:&lt;/span&gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="color: rgb(51, 255, 51);" class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;1. The method is used for both libraries and modules.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="color: rgb(51, 255, 51);" class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;2. The included objects are verified at the run time.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="color: rgb(51, 255, 51);" class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;3. Need to give file Extension.&lt;/span&gt;&lt;/p&gt;&lt;p style="color: rgb(51, 255, 51);" class="MsoNormal"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Require : both library and modules, at the time run time&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="color: rgb(51, 255, 51);" class="MsoNormal"&gt;&lt;br /&gt;&lt;span style=";font-family:Verdana;font-size:78%;"  &gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-5422224213047682206?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/5422224213047682206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=5422224213047682206' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/5422224213047682206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/5422224213047682206'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2009/02/what-is-difference-between-use-and.html' title='What is difference between &quot;Use&quot; and &quot;require&quot;'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-8812297543308982313</id><published>2009-02-18T00:42:00.000-08:00</published><updated>2009-02-18T00:49:33.579-08:00</updated><title type='text'>Essential Information In  Perl</title><content type='html'>&lt;span style="color:#ff9900;"&gt; &lt;span style="color: rgb(51, 255, 51);"&gt;Perl comes with documentation as standard, including a complete set of manual pages that can&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt; be accessed with the perldoc program, &lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;/span&gt; &lt;ul style="color: rgb(255, 153, 0);"&gt;&lt;li&gt;&lt;u&gt;&lt;b&gt;use the command line for view Perl Man Pages &lt;/b&gt;&lt;/u&gt;&lt;/li&gt;&lt;/ul&gt; &lt;span style="color: rgb(51, 255, 51);" &gt;      [sivkumar@VersionTech sivkumar] perldoc perl&lt;br /&gt;       return a list of the (many) standard Perl manual pages available as part of   every Perl       installation&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul style="color: rgb(255, 153, 0);"&gt;&lt;li&gt;&lt;u&gt;&lt;b&gt;The perldoc command can also return information on specific Perl modules&lt;/b&gt;&lt;/u&gt;&lt;/li&gt;&lt;/ul&gt; &lt;span style="color: rgb(51, 255, 51);" &gt;&lt;br /&gt;&lt;b&gt;            [sivkumar@VersionTech sivkumar]&lt;/b&gt;perldoc CGI&lt;br /&gt;&lt;b&gt;            [sivkumar@VersionTech sivkumar]&lt;/b&gt;perldoc DBI&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; &lt;ul style="color: rgb(255, 153, 0);"&gt;&lt;li&gt;&lt;u&gt;&lt;b&gt;Type perldoc perldoc for information on using perldoc itself, and perldoc -h for a brief summary of options&lt;/b&gt;.&lt;/u&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="color: rgb(51, 255, 51);"&gt;&lt;li&gt;&lt;u style="color: rgb(255, 153, 0);"&gt;&lt;b&gt;Function in the perlfunc page&lt;/b&gt;&lt;/u&gt;&lt;span style="color: rgb(255, 153, 0);"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;     &lt;/span&gt; &lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="color: rgb(51, 255, 51);" &gt;&lt;b&gt;          [sivkumar@VersionTech sivkumar]&lt;/b&gt; perldoc -f funcname &lt;br /&gt;          # look up a function in the  perlfunc page&lt;/span&gt; &lt;blockquote style="color: rgb(51, 255, 51);"&gt;   &lt;blockquote&gt;     &lt;blockquote&gt;       &lt;blockquote&gt;         &lt;blockquote&gt;           &lt;blockquote&gt;             &lt;blockquote&gt;                                 perldoc -f split&lt;br /&gt; perldoc -f sort                            &lt;/blockquote&gt;           &lt;/blockquote&gt;         &lt;/blockquote&gt;       &lt;/blockquote&gt;     &lt;/blockquote&gt;   &lt;/blockquote&gt; &lt;/blockquote&gt; &lt;ul style="color: rgb(255, 153, 0);"&gt;&lt;li&gt;&lt;u&gt;&lt;b&gt;Display source code file&lt;/b&gt;&lt;/u&gt;&lt;/li&gt;&lt;/ul&gt; &lt;span style="color: rgb(51, 255, 51);" &gt;&lt;b&gt;        [sivkumar@VersionTech sivkumar]&lt;/b&gt; perldoc -m module   # display source code file&lt;br /&gt;&lt;/span&gt; &lt;blockquote style="color: rgb(51, 255, 51);"&gt;   &lt;blockquote&gt;     &lt;blockquote&gt;       &lt;blockquote&gt;         &lt;blockquote&gt;           &lt;blockquote&gt;             &lt;blockquote&gt;                               &lt;br /&gt;perldoc -m CGI&lt;br /&gt;perldoc -m DBI&lt;br /&gt;&lt;br /&gt;                           &lt;/blockquote&gt;           &lt;/blockquote&gt;         &lt;/blockquote&gt;       &lt;/blockquote&gt;     &lt;/blockquote&gt;   &lt;/blockquote&gt; &lt;/blockquote&gt; &lt;ul style="color: rgb(255, 153, 0);"&gt;&lt;li&gt;&lt;u&gt;&lt;b&gt;perlfaq &lt;span&gt;documentation&lt;/span&gt;&lt;/b&gt;&lt;/u&gt; &lt;/li&gt;&lt;/ul&gt; &lt;span style="color: rgb(51, 255, 51);" &gt;&lt;b&gt;        [sivkumar@VersionTech sivkumar]&lt;/b&gt; perldoc -q pattern    # search the perlfaq documentation&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; &lt;ul style="color: rgb(255, 153, 0);"&gt;&lt;li&gt;&lt;u&gt;&lt;b&gt;Insensitive lookup&lt;/b&gt;&lt;/u&gt;&lt;/li&gt;&lt;/ul&gt; &lt;span style="color: rgb(51, 255, 51);" &gt;&lt;b&gt;        [sivkumar@VersionTech sivkumar]&lt;/b&gt; perldoc -i [options]  # do a case insensitive lookup or search&lt;br /&gt;&lt;/span&gt;                                                                                &lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);" &gt;&lt;blockquote&gt;&lt;/blockquote&gt;                                                                           perldoc -i cgi&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff9900;"&gt;&lt;/span&gt;               &lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;             &lt;/blockquote&gt;           &lt;/blockquote&gt;         &lt;/blockquote&gt;       &lt;/blockquote&gt;     &lt;/blockquote&gt;   &lt;/blockquote&gt; &lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-8812297543308982313?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/8812297543308982313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=8812297543308982313' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/8812297543308982313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/8812297543308982313'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2009/02/essential-information-in-perl.html' title='Essential Information In  Perl'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-3462827920465264315</id><published>2009-02-18T00:37:00.000-08:00</published><updated>2009-02-18T00:41:33.269-08:00</updated><title type='text'>Unix To Dos</title><content type='html'>&lt;span style="color: rgb(51, 255, 51);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;pre&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;&lt;span&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul style="color: rgb(51, 255, 51);"&gt;&lt;li&gt; #!/usr/bin/perl -pi&lt;br /&gt; s/\n/\r\n/;&lt;/li&gt;&lt;/ul&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;pre&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;pre&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-3462827920465264315?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/3462827920465264315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=3462827920465264315' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/3462827920465264315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/3462827920465264315'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2009/02/unix-to-dos.html' title='Unix To Dos'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-3344685159338406095</id><published>2009-02-18T00:30:00.000-08:00</published><updated>2009-02-18T00:36:32.104-08:00</updated><title type='text'>Dos  To Unix</title><content type='html'>&lt;span style="color: rgb(51, 255, 51);"&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/span&gt;&lt;ul style="color: rgb(51, 255, 51);"&gt;&lt;li&gt;&lt;code&gt;perl -pi -e 's/\r\n/\n/;' Filename.pl&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="color: rgb(51, 255, 51);"&gt;&lt;li&gt;&lt;span&gt;&lt;pre&gt;#!/usr/bin/perl -pi&lt;br /&gt;s/\r\n/\n/;&lt;/pre&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-3344685159338406095?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/3344685159338406095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=3344685159338406095' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/3344685159338406095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/3344685159338406095'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2009/02/dos-to-unix.html' title='Dos  To Unix'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-708552028641665071</id><published>2008-11-18T03:26:00.000-08:00</published><updated>2008-11-18T03:35:46.294-08:00</updated><title type='text'>UTF-8 Solution</title><content type='html'>&lt;div style="color: rgb(51, 255, 51);" class="syntax"&gt;&lt;div class="perl"  style="font-family:monospace;"&gt;&lt;ol&gt;&lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="co1"&gt;#!/usr/local/git/bin/perl &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2"&gt;&lt;div class="de2"&gt;&lt;span class="co1"&gt;# Test Char Set Issue &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="co1"&gt;# Tested By : Sivasakthi.kumar&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2"&gt;&lt;div class="de2"&gt;&lt;span class="co1"&gt;# IM : Sivasakthikumar@gmail.com &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1"&gt;&lt;div class="de1"&gt; &lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class="li2"&gt;&lt;div class="de2"&gt;&lt;span class="kw2"&gt;use&lt;/span&gt; DBI;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="kw2"&gt;use&lt;/span&gt; DBD::&lt;span class="me2"&gt;Oracle&lt;/span&gt; &lt;a href="http://perldoc.perl.org/functions/qw.html"&gt;&lt;span class="kw3"&gt;qw&lt;/span&gt;&lt;/a&gt;&lt;span class="br0"&gt;(&lt;/span&gt;:ora_types&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2"&gt;&lt;div class="de2"&gt;&lt;span class="kw2"&gt;use&lt;/span&gt; utf8;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="kw2"&gt;use&lt;/span&gt; Encode;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2"&gt;&lt;div class="de2"&gt; &lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="re0"&gt;$string&lt;/span&gt; = &lt;span class="st0"&gt;"FuÔbalÀl"&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2"&gt;&lt;div class="de2"&gt; &lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="re0"&gt;$ENV&lt;/span&gt;&lt;span class="br0"&gt;{&lt;/span&gt;NLS_LANG&lt;span class="br0"&gt;}&lt;/span&gt; = &lt;span class="st0"&gt;".UTF8"&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2"&gt;&lt;div class="de2"&gt;&lt;span class="re0"&gt;$ENV&lt;/span&gt;&lt;span class="br0"&gt;{&lt;/span&gt;NLS_NCHAR&lt;span class="br0"&gt;}&lt;/span&gt; = &lt;span class="st0"&gt;"AL32UTF8"&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1"&gt;&lt;div class="de1"&gt; &lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class="li2"&gt;&lt;div class="de2"&gt;&lt;a href="http://perldoc.perl.org/functions/print.html"&gt;&lt;span class="kw3"&gt;print&lt;/span&gt;&lt;/a&gt; &lt;span class="st0"&gt;"Before Insert DataBase :"&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;a href="http://perldoc.perl.org/functions/print.html"&gt;&lt;span class="kw3"&gt;print&lt;/span&gt;&lt;/a&gt; &lt;span class="st0"&gt;"$string"&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2"&gt;&lt;div class="de2"&gt; &lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="kw1"&gt;my&lt;/span&gt; &lt;span class="re0"&gt;$dbh&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2"&gt;&lt;div class="de2"&gt; &lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="re0"&gt;$dbh&lt;/span&gt; = DBI-&gt;&lt;span class="me1"&gt;connect&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="st0"&gt;"DBI:Oracle:SID=tosipo;HOST="&lt;/span&gt;localhost&lt;span class="st0"&gt;";PORT=1521"&lt;/span&gt;, &lt;/div&gt;&lt;/li&gt;&lt;li class="li2"&gt;&lt;div class="de2"&gt;                       teststage, &lt;/div&gt;&lt;/li&gt;&lt;li class="li1"&gt;&lt;div class="de1"&gt;                       SSaih, &lt;/div&gt;&lt;/li&gt;&lt;li class="li2"&gt;&lt;div class="de2"&gt;                       &lt;span class="br0"&gt;{&lt;/span&gt;RaiseError =&gt; &lt;span class="nu0"&gt;1&lt;/span&gt;,&lt;/div&gt;&lt;/li&gt;&lt;li class="li1"&gt;&lt;div class="de1"&gt;                       PrintError =&gt; &lt;span class="nu0"&gt;0&lt;/span&gt;,&lt;/div&gt;&lt;/li&gt;&lt;li class="li2"&gt;&lt;div class="de2"&gt;                       AutoCommit =&gt; &lt;span class="nu0"&gt;0&lt;/span&gt; &lt;span class="br0"&gt;}&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt; &lt;span class="kw1"&gt;or&lt;/span&gt; &lt;a href="http://perldoc.perl.org/functions/die.html"&gt;&lt;span class="kw3"&gt;die&lt;/span&gt;&lt;/a&gt; &lt;span class="re0"&gt;$DBI&lt;/span&gt;::&lt;span class="me2"&gt;errstr&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1"&gt;&lt;div class="de1"&gt; &lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class="li2"&gt;&lt;div class="de2"&gt;&lt;span class="re0"&gt;$sqlquery&lt;/span&gt; = &lt;span class="st0"&gt;"update TEST_ASSESSMENT set RESPONSE = &lt;span class="es0"&gt;\'&lt;/span&gt;$string&lt;span class="es0"&gt;\'&lt;/span&gt; where doc_id = 34 and version_id = &lt;span class="es0"&gt;\'&lt;/span&gt;1.0.0&lt;span class="es0"&gt;\'&lt;/span&gt;"&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;a href="http://perldoc.perl.org/functions/print.html"&gt;&lt;span class="kw3"&gt;print&lt;/span&gt;&lt;/a&gt; &lt;span class="st0"&gt;"&lt;span class="es0"&gt;\n&lt;/span&gt;SqlQuery : $sqlquery"&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2"&gt;&lt;div class="de2"&gt;&lt;span class="re0"&gt;$dbh&lt;/span&gt;-&gt;&lt;span class="me1"&gt;do&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="st0"&gt;"$sqlquery"&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt; &lt;span class="kw1"&gt;or&lt;/span&gt; &lt;a href="http://perldoc.perl.org/functions/die.html"&gt;&lt;span class="kw3"&gt;die&lt;/span&gt;&lt;/a&gt; &lt;span class="re0"&gt;$dbh&lt;/span&gt;-&gt;&lt;span class="me1"&gt;errstr&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1"&gt;&lt;div class="de1"&gt; &lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class="li2"&gt;&lt;div class="de2"&gt; &lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="re0"&gt;$sth&lt;/span&gt; = &lt;span class="re0"&gt;$dbh&lt;/span&gt;-&gt;&lt;span class="me1"&gt;prepare&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt; &lt;span class="st0"&gt;"select response from &lt;/span&gt;&lt;span class="st0"&gt;TEST_ASSESSMENT&lt;/span&gt;&lt;span class="st0"&gt; where doc_id = 34 and version_id = '1.0.0'"&lt;/span&gt; &lt;span class="br0"&gt;)&lt;/span&gt; &lt;span class="kw1"&gt;or&lt;/span&gt; &lt;a href="http://perldoc.perl.org/functions/die.html"&gt;&lt;span class="kw3"&gt;die&lt;/span&gt;&lt;/a&gt; &lt;span class="re0"&gt;$dbh&lt;/span&gt;-&gt;&lt;span class="me1"&gt;errstr&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2"&gt;&lt;div class="de2"&gt;&lt;span class="re0"&gt;$sth&lt;/span&gt;-&gt;&lt;span class="me1"&gt;execute&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1"&gt;&lt;div class="de1"&gt; &lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class="li2"&gt;&lt;div class="de2"&gt;&lt;span class="kw1"&gt;while&lt;/span&gt; &lt;span class="br0"&gt;(&lt;/span&gt; &lt;span class="kw1"&gt;my&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="re0"&gt;$res&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt; = &lt;span class="re0"&gt;$sth&lt;/span&gt;-&gt;&lt;span class="me1"&gt;fetchrow_array&lt;/span&gt; &lt;span class="br0"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="br0"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2"&gt;&lt;div class="de2"&gt; &lt;span class="co1"&gt;# $res = decode("ISO-8859-1", $res);&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1"&gt;&lt;div class="de1"&gt; &lt;span class="co1"&gt;#$res = encode("utf8", $res);&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2"&gt;&lt;div class="de2"&gt;  &lt;a href="http://perldoc.perl.org/functions/print.html"&gt;&lt;span class="kw3"&gt;print&lt;/span&gt;&lt;/a&gt; &lt;span class="st0"&gt;"&lt;span class="es0"&gt;\n&lt;/span&gt;$res"&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="br0"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2"&gt;&lt;div class="de2"&gt; &lt;/div&gt;&lt;br /&gt;&lt;/li&gt;&lt;li class="li1"&gt;&lt;div class="de1"&gt;&lt;span class="re0"&gt;$dbh&lt;/span&gt;-&gt;&lt;span class="me1"&gt;commit&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2"&gt;&lt;div class="de2"&gt;&lt;span class="re0"&gt;$dbh&lt;/span&gt;-&gt;&lt;span class="me1"&gt;disconnect&lt;/span&gt;&lt;span class="br0"&gt;(&lt;/span&gt;&lt;span class="br0"&gt;)&lt;/span&gt;;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-708552028641665071?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/708552028641665071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=708552028641665071' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/708552028641665071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/708552028641665071'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2008/11/utf-8-solution.html' title='UTF-8 Solution'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-4841720204917834689</id><published>2008-05-10T00:33:00.000-07:00</published><updated>2008-05-10T00:37:27.507-07:00</updated><title type='text'>Perl One Line Programs</title><content type='html'>&lt;span style="color: rgb(51, 255, 51);"&gt;# run program, but with warnings &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;   perl -w my_file &lt;/span&gt;&lt;p style="color: rgb(51, 255, 51);"&gt;   # run program under debugger&lt;br /&gt;  perl -d my_file &lt;/p&gt;&lt;p style="color: rgb(51, 255, 51);"&gt;   # just check syntax, with warnings&lt;br /&gt;  perl -wc my_file &lt;/p&gt;&lt;p style="color: rgb(51, 255, 51);"&gt;   # useful at end of "find foo -print"&lt;br /&gt;  perl -nle unlink &lt;/p&gt;&lt;p style="color: rgb(51, 255, 51);"&gt;   # simplest one-liner program&lt;br /&gt;  perl -e 'print "hello world!\n"' &lt;/p&gt;&lt;p style="color: rgb(51, 255, 51);"&gt;   # add first and penultimate columns&lt;br /&gt;  perl -lane 'print $F[0] + $F[-2]' &lt;/p&gt;&lt;p style="color: rgb(51, 255, 51);"&gt;   # just lines 15 to 17&lt;br /&gt;  perl -ne 'print if 15 .. 17' *.pod &lt;/p&gt;&lt;p style="color: rgb(51, 255, 51);"&gt;   # in-place edit of *.c files changing all foo to bar&lt;br /&gt;  perl -p -i.bak -e 's/\bfoo\b/bar/g' *.c &lt;/p&gt;&lt;p style="color: rgb(51, 255, 51);"&gt;   # command-line that prints the first 50 lines (cheaply)&lt;br /&gt;  perl -pe 'exit if $. &gt; 50' f1 f2 f3 ... &lt;/p&gt;&lt;p style="color: rgb(51, 255, 51);"&gt;   # delete first 10 lines&lt;br /&gt;  perl -i.old -ne 'print unless 1 .. 10' foo.txt &lt;/p&gt;&lt;p style="color: rgb(51, 255, 51);"&gt;   # change all the isolated oldvar occurrences to newvar&lt;br /&gt;  perl -i.old -pe 's{\boldvar\b}{newvar}g' *.[chy] &lt;/p&gt;&lt;p style="color: rgb(51, 255, 51);"&gt;   # command-line that reverses the whole file by lines&lt;br /&gt;  perl -e 'print reverse &lt;&gt;' file1 file2 file3 .... &lt;/p&gt;&lt;p style="color: rgb(51, 255, 51);"&gt;   # find palindromes&lt;br /&gt;  perl -lne 'print if $_ eq reverse' /usr/dict/words &lt;/p&gt;&lt;p style="color: rgb(51, 255, 51);"&gt;   # command-line that reverse all the bytes in a file&lt;br /&gt;  perl -0777e 'print scalar reverse &lt;&gt;' f1 f2 f3 ... &lt;/p&gt;&lt;p style="color: rgb(51, 255, 51);"&gt;   # command-line that reverses the whole file by paragraphs&lt;br /&gt;  perl -00 -e 'print reverse &lt;&gt;' file1 file2 file3 .... &lt;/p&gt;&lt;p style="color: rgb(51, 255, 51);"&gt;   # increment all numbers found in these files&lt;br /&gt;  perl i.tiny -pe 's/(\d+)/ 1 + $1 /ge' file1 file2 .... &lt;/p&gt;&lt;p style="color: rgb(51, 255, 51);"&gt;   # command-line that shows each line with its characters backwards&lt;br /&gt;  perl -nle 'print scalar reverse $_' file1 file2 file3 .... &lt;/p&gt;&lt;p style="color: rgb(51, 255, 51);"&gt;   # delete all but lines beween START and END&lt;br /&gt;  perl -i.old -ne 'print unless /^START$/ .. /^END$/' foo.txt &lt;/p&gt;&lt;p style="color: rgb(51, 255, 51);"&gt;   # binary edit (careful!)&lt;br /&gt;  perl -i.bak -pe 's/Mozilla/Slopoke/g' /usr/local/bin/netscape &lt;/p&gt;&lt;p style="color: rgb(51, 255, 51);"&gt;   # look for dup words&lt;br /&gt;  perl -0777 -ne 'print "$.: doubled $_\n" while /\b(\w+)\b\s+\b\1\b/gi' &lt;/p&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;   # command-line that prints the last 50 lines (expensively) &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;   perl -e 'lines = &lt;&gt;; print @@lines[ $#lines .. $#lines-50' f1 f2 f3 ...&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-4841720204917834689?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/4841720204917834689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=4841720204917834689' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/4841720204917834689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/4841720204917834689'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2008/05/perl-one-line-programs.html' title='Perl One Line Programs'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4961613010677964047.post-8961357949257196165</id><published>2007-06-22T02:14:00.000-07:00</published><updated>2007-06-22T02:57:28.188-07:00</updated><title type='text'>Comparison of C, C++, Java, Perl, Python, Rexx, and Tcl.</title><content type='html'>&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold; color: rgb(255, 255, 0);"&gt;&lt;span style="font-size:130%;"&gt;Run Time :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="color: rgb(51, 204, 0);font-family:verdana;font-size:100%;"  &gt;Number of programs and name/version of compiler or interpreter used for the various languages. The Java evaluation uses either the JDK 1.2.2 Hotspot Reference version or the JDK 1.2.1 Solaris Production version (with JIT),whichever was faster for each program. All programs were executed on a 300MHz Sun Ultra-II workstation with 256MB memory, running under SunOS 5.7 (Solaris 7). Note that the results for C and Rexx will be based on only 5 or 4 programs, respectively, and are thus rather coarse estimates of reality,but for all of the other languages there are 10 or more programs,which is a broad-enough base for reasonably precise results.&lt;br /&gt;&lt;br /&gt;####################################################################&lt;br /&gt;        language             no.                 compiler or execution platform&lt;br /&gt;        --------             ---                  ----------------------------&lt;br /&gt;        Tcl                             10                  tcl 8.2.2&lt;br /&gt;        Rexx                         4                     Regina 0.08g&lt;br /&gt;        Python                   13    python 1.5.2&lt;br /&gt;        Perl                           13                  perl 5.005_02&lt;br /&gt;        Java                         24                 Sun JDK 1.2.1/1.2.2&lt;br /&gt;        C++                         11     GNU g++ 2.7.2&lt;br /&gt;        C                                 5                     GNU gcc 2.7.2&lt;br /&gt;###################################################################&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:100%;"&gt;&lt;/span&gt;&lt;ul style="color: rgb(51, 204, 0);"&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;The typical (i.e., median) run time for Tcl is not significantly &lt;/span&gt;&lt;span style="font-family:verdana;"&gt;longer than that for Java or even for C++.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="color: rgb(51, 204, 0);"&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt; The median run times of both Python and Perl are &lt;span style="font-family:verdana;"&gt;smaller than those of Rexx and those of Tcl.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify; color: rgb(51, 204, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify; color: rgb(51, 204, 0);"&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;The median run time of Java is not significantly different &lt;/span&gt;&lt;span style="font-family:verdana;"&gt;from any of the others (not even Rexx, where &lt;/span&gt;&lt;span style="font-family:verdana;"&gt;p = 0:13).&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify; color: rgb(51, 204, 0);"&gt;&lt;div style="text-align: justify;"&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;Don’t be confused by the median for C++. Since the &lt;/span&gt;&lt;span style="font-family:verdana;"&gt;distance to the next larger and smaller points is rather &lt;/span&gt;&lt;span style="font-family:verdana;"&gt;large, it is unstable. The Wilcoxon test, which takes the whole sample into account, confirms that the C++ &lt;/span&gt;&lt;span style="font-family:verdana;"&gt;median in fact tends to be smaller than the Java median &lt;/span&gt;&lt;span style="font-family:verdana;"&gt;(p = 0:18).&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul style="color: rgb(51, 204, 0);"&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;The median run time of C is smaller than those of Java Rexx, and Tcl and tends to be smaller than those of Perl and Python.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;ul style="color: rgb(51, 204, 0);"&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;Except for two very slow programs, Tcl and Perl run &lt;/span&gt;&lt;span style="font-family:verdana;"&gt;times tend to have a smaller variability than the run &lt;/span&gt;&lt;span style="font-family:verdana;"&gt;times for the other languages.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:verdana;font-size:100%;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4961613010677964047-8961357949257196165?l=sivasakthikumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sivasakthikumar.blogspot.com/feeds/8961357949257196165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4961613010677964047&amp;postID=8961357949257196165' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/8961357949257196165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4961613010677964047/posts/default/8961357949257196165'/><link rel='alternate' type='text/html' href='http://sivasakthikumar.blogspot.com/2007/06/empirical-comparison-of-c-c-java-perl.html' title='Comparison of C, C++, Java, Perl, Python, Rexx, and Tcl.'/><author><name>Sakthi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='19' src='http://4.bp.blogspot.com/_n137jqDyy-0/SZ0b8tBGccI/AAAAAAAAAMQ/e-3mK22we7U/S220/Siva.jpg'/></author><thr:total>0</thr:total></entry></feed>
