<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:access="http://www.bloglines.com/about/specs/fac-1.0">
<access:restriction relationship="allow" />
<channel>
<title>perlsOfLondon</title>
<link>http://perlsoflondon.pbwiki.com/</link>
<description>perlsOfLondon</description>
<language>en</language>
<image>
 <url>http://perlsoflondon.pbwiki.com/feedlogo.gif</url>
 <title>PBwiki</title>
 <link>http://pbwiki.com/</link>
</image>
<generator>PBwiki 1.3.8</generator>
<webMaster>support@pbwiki.com</webMaster>
 <item>
  <title>The Essential Perl Bookshelf</title>
  <link>http://perlsoflondon.pbwiki.com/The+Essential+Perl+Bookshelf</link>
  <author>email.hidden@example.com (Darin London)</author>
  <description><![CDATA[<h3>Darin London edited <a href="http://perlsoflondon.pbwiki.com/The+Essential+Perl+Bookshelf">The Essential Perl Bookshelf</a></h3>
Hubris: willingness to believe that you can actually make the computer do something useful, without anyone getting hurt<br />The Perl Cookbook: Contains many, many recipes for doing things in perl, using either perl, its standard modules, or CPAN modules.<br /> is<span style="color:red;background-color:#fcc;"> readable,</span><span style="font-weight:bold;color:green;background-color:#cfc;"> readable and</span> maintainable by<span style="color:red;background-color:#fcc;"> both</span> you and<span style="font-weight:bold;color:green;background-color:#cfc;"> anyone who should inherit</span> your<span style="color:red;background-color:#fcc;"> future</span> code<span style="color:red;background-color:#fcc;"> inheritors.</span><span style="font-weight:bold;color:green;background-color:#cfc;"> in the future.</span><br />Others which are great, but maybe not essential:<br />Higher Order Perl: Contains a completely different perspective on how to write programs with coderefs, etc.  A little advanced, but very exciting.  I will use some examples from this book.<br />]]></description>
  <pubDate>Thu, 19 Jun 2008 19:49:43 +0000</pubDate>
  <category>mod</category>
 </item>
 <item>
  <title>The Essential Perl Bookshelf</title>
  <link>http://perlsoflondon.pbwiki.com/The+Essential+Perl+Bookshelf</link>
  <author>email.hidden@example.com (Darin London)</author>
  <description><![CDATA[<h3>Darin London edited <a href="http://perlsoflondon.pbwiki.com/The+Essential+Perl+Bookshelf">The Essential Perl Bookshelf</a></h3>
Hubris: willingness to believe that you can actually make the computer do something useful, without anyone getting hurt<br />The Perl Cookbook: Contains many, many recipes for doing things in perl, using either perl, its standard modules, or CPAN modules.<br /> Best<span style="color:red;background-color:#fcc;"> Practices</span><span style="font-weight:bold;color:green;background-color:#cfc;"> Practices: The definitive standard for coding style which is readable, maintainable by both you and your future code inheritors.</span><br />Others which are great, but maybe not essential:<br />Higher Order Perl: Contains a completely different perspective on how to write programs with coderefs, etc.  A little advanced, but very exciting.  I will use some examples from this book.<br />]]></description>
  <pubDate>Thu, 19 Jun 2008 19:48:57 +0000</pubDate>
  <category>mod</category>
 </item>
 <item>
  <title>The Essential Perl Bookshelf</title>
  <link>http://perlsoflondon.pbwiki.com/The+Essential+Perl+Bookshelf</link>
  <author>email.hidden@example.com (Darin London)</author>
  <description><![CDATA[<h3>Darin London edited <a href="http://perlsoflondon.pbwiki.com/The+Essential+Perl+Bookshelf">The Essential Perl Bookshelf</a></h3>
Hubris: willingness to believe that you can actually make the computer do something useful, without anyone getting hurt<br />The Perl Cookbook: Contains many, many recipes for doing things in perl, using either perl, its standard modules, or CPAN modules.<br /><span style="font-weight:bold;color:green;background-color:#cfc;">Perl Best Practices</span><br />Others which are great, but maybe not essential:<br />Higher Order Perl: Contains a completely different perspective on how to write programs with coderefs, etc.  A little advanced, but very exciting.  I will use some examples from this book.<br />]]></description>
  <pubDate>Thu, 19 Jun 2008 19:44:48 +0000</pubDate>
  <category>mod</category>
 </item>
 <item>
  <title>Operators (number, string)</title>
  <link>http://perlsoflondon.pbwiki.com/Operators+%28number%2C+string%29</link>
  <author>email.hidden@example.com (Darin)</author>
  <description><![CDATA[<h3>Darin edited <a href="http://perlsoflondon.pbwiki.com/Operators+%28number%2C+string%29">Operators (number, string)</a></h3>
Now that you can get data in and out of your perl program, and even store the data in scalars, arrays, and hashes, what can you do with it?<br />Perl is a complete programming language, offering a diverse cornucopia of operators to massage your data.<br /> Aunt<span style="color:red;background-color:#fcc;"> Sally'$perens</span><span style="font-weight:bold;color:green;background-color:#cfc;"> Sally'<br />$perens</span> = ((($a + $b) * c) /<span style="color:red;background-color:#fcc;"> $d);$exponent</span><span style="font-weight:bold;color:green;background-color:#cfc;"> $d);<br />$exponent</span> = $a **<span style="color:red;background-color:#fcc;"> $b;$product</span><span style="font-weight:bold;color:green;background-color:#cfc;"> $b;<br />$product</span> = $a *<span style="color:red;background-color:#fcc;"> $b;$quotient</span><span style="font-weight:bold;color:green;background-color:#cfc;"> $b;<br />$quotient</span> = $a /<span style="color:red;background-color:#fcc;"> $b;$remainder</span><span style="font-weight:bold;color:green;background-color:#cfc;"> $b;<br />$remainder</span> = $a %<span style="color:red;background-color:#fcc;"> $b;$sum</span><span style="font-weight:bold;color:green;background-color:#cfc;"> $b;<br />$sum</span> = $a +<span style="color:red;background-color:#fcc;"> $b;$diff</span><span style="font-weight:bold;color:green;background-color:#cfc;"> $b;<br />$diff</span> = $a -<span style="color:red;background-color:#fcc;"> $b;$bitwise_left</span><span style="font-weight:bold;color:green;background-color:#cfc;"> $b;<br />$bitwise_left</span> = $a &amp;lt;&amp;lt;<span style="color:red;background-color:#fcc;"> $b;$bitwise_right</span><span style="font-weight:bold;color:green;background-color:#cfc;"> $b;<br />$bitwise_right</span> = $a &amp;gt;&amp;gt;<span style="color:red;background-color:#fcc;"> $b;$bitwise_and</span><span style="font-weight:bold;color:green;background-color:#cfc;"> $b;<br />$bitwise_and</span> = $a<span style="color:red;background-color:#fcc;"> &amp;amp; $b;$bitwise_or</span><span style="font-weight:bold;color:green;background-color:#cfc;"> &amp; $b;<br />$bitwise_or</span> = $a |<span style="color:red;background-color:#fcc;"> $b;$bitwise_xor</span><span style="font-weight:bold;color:green;background-color:#cfc;"> $b;<br />$bitw</span>]]></description>
  <pubDate>Mon, 21 Apr 2008 18:36:09 +0000</pubDate>
  <category>mod</category>
 </item>
 <item>
  <title>Anatomy of a Perl Statement</title>
  <link>http://perlsoflondon.pbwiki.com/Anatomy+of+a+Perl+Statement</link>
  <author>no.email.given@example.com (Anonymous)</author>
  <description><![CDATA[<h3>Anonymous edited <a href="http://perlsoflondon.pbwiki.com/Anatomy+of+a+Perl+Statement">Anatomy of a Perl Statement</a></h3>
<span style="font-weight:bold;color:green;background-color:#cfc;">Sieve of Eratosthenes</span><br />When writing a statement for perl to interpret in a source file, there is a great deal of flexibility available to the programmer.<br />The basic perl statement follows one of the following syntaxes (brackets indicate optional elements):<br /> EXPRESSION<span style="color:red;background-color:#fcc;"> [conditional];This</span><span style="font-weight:bold;color:green;background-color:#cfc;"> [conditional];</span><span style="font-weight:bold;color:green;background-color:#cfc;"><br />This</span> is the main type of statement that you will write in perl.  It is composed of an (optional) lvalue (with an optional, but highly recommended scope declaration, usually 'my') and assignment operator (we will speak more of these later), followed by an expression of some form, terminated with the semi-colon.  Expressions in perl can take on a similar variety of forms, and spread across multiple lines, with interspersed<span style="color:red;background-color:#fcc;"> comments.  print;</span><span style="font-weight:bold;color:green;background-color:#cfc;"> comments.</span><span style="font-weight:bold;color:green;background-color:#cfc;"><br />print;</span> #The simplest perl<span style="color:red;background-color:#fcc;"> statement  $variable</span><span style="font-weight:bold;color:green;background-color:#cfc;"> statement</span><span style="font-weight:bold;color:green;background-color:#cfc;"><br />$variable</span> =<span style="color:red;background-color:#fcc;"> $array[0];  my</span><span style="font-weight:bold;color:green;background-color:#cfc;"> $array[0];</span><span style="font-weight:bold;color:green;background-color:#cfc;"><br />my</span> @a]]></description>
  <pubDate>Wed, 09 Apr 2008 18:27:19 +0000</pubDate>
  <category>mod</category>
 </item>
 <item>
  <title>sieve</title>
  <link>http://perlsoflondon.pbwiki.com/sieve</link>
  <author>no.email.given@example.com (Anonymous)</author>
  <description><![CDATA[<h3>Anonymous added <a href="http://perlsoflondon.pbwiki.com/sieve">sieve</a></h3>
<p>#!/usr/bin/perl</p><p><br />
</p><p><br />
# number of total numbers we are going to allow to be tested</p><p><br />
# a subset of these will be prime</p><p><br />
my $limit = 100;</p><p><br />
</p><p><br />
# this will hold all numbers between 0 and the $limit'th prime number</p><p><br />
my %m_numbers = (</p><p><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # the model doesnt work starting from 1, but 1 is prime</p><p><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 =&gt; 1,</p><p><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );</p><p><br />
</p><p><br />
my $current = 2;</p><p><br />
my $number_tested = keys %m_numbers;</p><p><br />
while ($number_tested &lt; $limit) {</p><p><br />
&nbsp;&nbsp;&nbsp; # find the next value for current, e.g. the next entry in m_numbers</p><p><br />
&nbsp;&nbsp;&</p>]]></description>
  <pubDate>Wed, 09 Apr 2008 18:24:44 +0000</pubDate>
  <category>add</category>
 </item>
 <item>
  <title>Linux, Shells</title>
  <link>http://perlsoflondon.pbwiki.com/Linux%2C+Shells</link>
  <author>no.email.given@example.com (Anonymous)</author>
  <description><![CDATA[<h3>Anonymous edited <a href="http://perlsoflondon.pbwiki.com/Linux%2C+Shells">Linux, Shells</a></h3>
Another special absolute path is ~/, which is your homedir (or even ~username/ which is username's homedir)<br />ls ~/path/relative/to/my/homedir<br /> command<span style="color:red;background-color:#fcc;"> 'relative</span><span style="font-weight:bold;color:green;background-color:#cfc;"> relative</span> to<span style="color:red;background-color:#fcc;"> .'</span><span style="font-weight:bold;color:green;background-color:#cfc;"> the</span><span style="font-weight:bold;color:green;background-color:#cfc;"> './'</span><span style="font-weight:bold;color:green;background-color:#cfc;"> directory:</span><br />./someCommand<br />After you have created a new script (perl, shell, python, etc), you will need to make it executable before it can be executed by the shell. You do this with chmod.  You can make your programs executable for only you (chmod u+x /path/to/program), or only users in your group (chmod g+x /path/to/program), or for all users (chmod o+x /path/to/program). Type 'man chmod' for details.<br />]]></description>
  <pubDate>Wed, 09 Apr 2008 16:55:48 +0000</pubDate>
  <category>mod</category>
 </item>
 <item>
  <title>Linux, Shells</title>
  <link>http://perlsoflondon.pbwiki.com/Linux%2C+Shells</link>
  <author>email.hidden@example.com (Darin)</author>
  <description><![CDATA[<h3>Darin edited <a href="http://perlsoflondon.pbwiki.com/Linux%2C+Shells">Linux, Shells</a></h3>
a. Windows: xwin32 (You can get it from the OIT download site).<br />b. Mac OSX, Linux: ssh<br /> is<span style="color:red;background-color:#fcc;"> demonstrated):  shell&amp;gt;</span><span style="font-weight:bold;color:green;background-color:#cfc;"> demonstrated):</span><span style="font-weight:bold;color:green;background-color:#cfc;"><br />shell&amp;gt;</span> ssh user@host.duhs.duke.edu<br />d. From Outside Duke (note, this is true for both xwin32 and ssh, but only ssh is<span style="color:red;background-color:#fcc;"> demonstrated):  shell&amp;gt;</span><span style="font-weight:bold;color:green;background-color:#cfc;"> demonstrated):</span><span style="font-weight:bold;color:green;background-color:#cfc;"><br />shell&amp;gt;</span> ssh<span style="color:red;background-color:#fcc;"> user@jumper.genome.duke.edu  jumper_shell&amp;gt;</span><span style="font-weight:bold;color:green;background-color:#cfc;"> user@jumper.genome.duke.edu</span><span style="font-weight:bold;color:green;background-color:#cfc;"><br />jumper_shell&amp;gt;</span> ssh user@host.duhs.duke.edu<br />playWithSSH<br />Shell environment: Three shells: csh/tcsh, sh/bash, ksh/zsh. Each have slightly different API, and some have a little extra functionality. I will use  bash in this class, because it is the default shell in most peoples profile.  I will also only focus on the things that you can do in any of the shells, although the commands to do them may vary slightly from bash syntax.  I strongly recommend you find a good shell book or online r]]></description>
  <pubDate>Mon, 07 Apr 2008 16:26:27 +0000</pubDate>
  <category>mod</category>
 </item>
 <item>
  <title>playWithShell</title>
  <link>http://perlsoflondon.pbwiki.com/playWithShell</link>
  <author>email.hidden@example.com (Darin)</author>
  <description><![CDATA[<h3>Darin edited <a href="http://perlsoflondon.pbwiki.com/playWithShell">playWithShell</a></h3>
 shell&amp;gt;<span style="color:red;background-color:#fcc;"> pico</span><span style="color:red;background-color:#fcc;"> .test</span><span style="font-weight:bold;color:green;background-color:#cfc;"> vi</span><span style="font-weight:bold;color:green;background-color:#cfc;"> .test</span><span style="font-weight:bold;color:green;background-color:#cfc;"><br />[type</span><span style="font-weight:bold;color:green;background-color:#cfc;"> 'i'</span><span style="font-weight:bold;color:green;background-color:#cfc;"> to</span><span style="font-weight:bold;color:green;background-color:#cfc;"> enter</span><span style="font-weight:bold;color:green;background-color:#cfc;"> insert</span><span style="font-weight:bold;color:green;background-color:#cfc;"> mode]</span><br />export TESTENV='hello world'<br />alias hello='echo $TESTENV'<br /><span style="color:red;background-color:#fcc;">[ctrl-O,</span><span style="color:red;background-color:#fcc;"> enter</span><span style="font-weight:bold;color:green;background-color:#cfc;">[type</span><span style="font-weight:bold;color:green;background-color:#cfc;"> the</span><span style="font-weight:bold;color:green;background-color:#cfc;"> 'esc'</span><span style="font-weight:bold;color:green;background-color:#cfc;"> key</span> to<span style="color:red;background-color:#fcc;"> save]</span><span style="color:red;background-color:#fcc;"><br />[ctrl-X</span><span style="font-weight:bold;color:green;background-color:#cfc;"> get</span><span style="font-weight:bold;color:green;background-color:#cfc;"> out</span><span style="font-weight:bold;color:green;background-color:#cfc;"> of</span><span style="font-weight:bold;color:green;background-color:#cfc;"> insert</span><span style="font-weight:bold;color:green;background-color:#cfc;"> mode]</span><span style="font-weight:bold;color:green;background-color:#cfc;"><br />[type</span><span style="font-weight:bold;color:green;background-color:#cfc;"> ':wq!'</span> to<span style="font-weight:bold;color:green;background-color:#cfc;"> save</span><span style="font-weight:bold;color:green;background-color:#cfc;"> and</span> exit]<br />local shell&amp;gt; source .test<br />local shell&amp;gt; echo $TESTENV<br />local shell&amp;gt; hello<br />no such command hello<br /><span style="color:red;background-color:#fcc;">&amp;#160;</span><br />local shell&amp;gt; id<br />local shell&amp;gt; man id<br />]]></description>
  <pubDate>Wed, 02 Apr 2008 19:19:21 +0000</pubDate>
  <category>mod</category>
 </item>
 <item>
  <title>FrontPage</title>
  <link>http://perlsoflondon.pbwiki.com/FrontPage</link>
  <author>email.hidden@example.com (Darin)</author>
  <description><![CDATA[<h3>Darin edited <a href="http://perlsoflondon.pbwiki.com/FrontPage">FrontPage</a></h3>
<span style="font-weight:bold;color:green;background-color:#cfc;">Welcome to the IGSP Genome Academy Perl Class. Here is a list of links for our itinerary. On these pages, you will find other links to pages of information that we will be covering each day.</span><br />Syllabus<br />Day1<br />]]></description>
  <pubDate>Wed, 02 Apr 2008 19:12:30 +0000</pubDate>
  <category>mod</category>
 </item>
 <item>
  <title>FrontPage</title>
  <link>http://perlsoflondon.pbwiki.com/FrontPage</link>
  <author>email.hidden@example.com (Darin)</author>
  <description><![CDATA[<h3>Darin edited <a href="http://perlsoflondon.pbwiki.com/FrontPage">FrontPage</a></h3>
<span style="color:red;background-color:#fcc;">Welcome</span><span style="color:red;background-color:#fcc;"> to</span><span style="color:red;background-color:#fcc;"> PBwiki!</span><span style="color:red;background-color:#fcc;"><br />This</span><span style="color:red;background-color:#fcc;"> wiki</span><span style="color:red;background-color:#fcc;"> used</span><span style="color:red;background-color:#fcc;"> to</span><span style="color:red;background-color:#fcc;"> be</span><span style="color:red;background-color:#fcc;"> a</span><span style="color:red;background-color:#fcc;"> Schtuff</span><span style="color:red;background-color:#fcc;"> space</span><span style="color:red;background-color:#fcc;"> at</span><span style="color:red;background-color:#fcc;"> perlsoflondon.schtuff.com</span><span style="color:red;background-color:#fcc;"> but</span><span style="color:red;background-color:#fcc;"> has</span><span style="color:red;background-color:#fcc;"> been</span><span style="color:red;background-color:#fcc;"> successfully</span><span style="color:red;background-color:#fcc;"> migrated</span><span style="color:red;background-color:#fcc;"> to</span><span style="color:red;background-color:#fcc;"> PBwiki.</span><span style="color:red;background-color:#fcc;"> There</span><span style="color:red;background-color:#fcc;"> are</span><span style="color:red;background-color:#fcc;"> a</span><span style="color:red;background-color:#fcc;"> few</span><span style="color:red;background-color:#fcc;"> differences</span><span style="color:red;background-color:#fcc;"> between</span><span style="color:red;background-color:#fcc;"> Schtuff</span><span style="color:red;background-color:#fcc;"> and</span><span style="color:red;background-color:#fcc;"> PBwiki</span><span style="color:red;background-color:#fcc;"> --</span><span style="color:red;background-color:#fcc;"> you'll</span><span style="color:red;background-color:#fcc;"> notice</span><span style="color:red;background-color:#fcc;"> that</span><span style="color:red;background-color:#fcc;"> you</span><span style="color:red;background-color:#fcc;"> now</span><span style="color:red;background-color:#fcc;"> have</span><span style="color:red;background-color:#fcc;"> a</span><span style="color:red;background-color:#fcc;"> page</span><span style="color:red;background-color:#fcc;"> called</span><span style="color:red;background-color:#fcc;"> 'FrontPage',</span><span style="color:red;background-color:#fcc;"> and</span><span style="color:red;background-color:#fcc;"> you're</span><span style="color:red;background-color:#fcc;"> looking</span><span style="color:red;background-color:#fcc;"> at</span><span style="color:red;background-color:#fcc;"> it.</span><span style="color:red;background-color:#fcc;"> Feel</span><span style="color:red;background-color:#fcc;"> free</span><span style="color:red;background-color:#fcc;"> to</span><span style="color:red;background-color:#fcc;"> edit</span><span style="color:red;background-color:#fcc;"> this</span><span style="color:red;background-color:#fcc;"> page,</span><span style="color:red;background-color:#fcc;"> even</span><span style="color:red;background-color:#fcc;"> delete</span><span style="color:red;background-color:#fcc;"> the</span><span style="color:red;background-color:#fcc;"> nice</span><span style="color:red;background-color:#fcc;"> list</span><span style="color:red;background-color:#fcc;"> you</span><span style="color:red;background-color:#fcc;"> see</span><span style="color:red;background-color:#fcc;"> below</span><span style="color:red;background-color:#fcc;"> --</span><span style="color:red;background-color:#fcc;"> our</span><]]></description>
  <pubDate>Wed, 02 Apr 2008 19:10:02 +0000</pubDate>
  <category>mod</category>
 </item>
 <item>
  <title>Syllabus</title>
  <link>http://perlsoflondon.pbwiki.com/Syllabus</link>
  <author>no.email.given@example.com (Anonymous)</author>
  <description><![CDATA[<h3>Anonymous edited <a href="http://perlsoflondon.pbwiki.com/Syllabus">Syllabus</a></h3>
email:  darin.london@duke.edu<br />Introduction<br /> five<span style="color:red;background-color:#fcc;"> (5)</span><span style="font-weight:bold;color:green;background-color:#cfc;"> (6)</span> 1-hour sessions (2 per week).  Starting from the first session, and continuing every other session, we will have a short quiz.  It is my belief that the best way for you to learn a programming language is to spend time reading the language in the wild to decipher it into your own language.  The quiz reflects this belief.  It will always consist of one section on the previous week's topics (if any), and one section on the current week's topics.  But wait, you might ask, how am I to know the correct answer to a question on a topic I havent even learned yet!?  The class isnt for credit, so I can do whatever I want to do, WUHAHAHAHA!  But seriously.  Dont Worry. The idea is to get you to read a piece of code, and make a logical stab at what it is accomplishing.  Perl can be written in some  strange binary language, or even  as beautiful, expressive poetry.  But well written perl will look like a piece of logical, self documenting]]></description>
  <pubDate>Mon, 17 Mar 2008 14:28:20 +0000</pubDate>
  <category>mod</category>
 </item>
 <item>
  <title>Advanced Perl Itinerary</title>
  <link>http://perlsoflondon.pbwiki.com/Advanced+Perl+Itinerary</link>
  <author>email.hidden@example.com (Darin London)</author>
  <description><![CDATA[<h3>Darin London added <a href="http://perlsoflondon.pbwiki.com/Advanced+Perl+Itinerary">Advanced Perl Itinerary</a></h3>
<p><a href="/iiday1" class="WikiLink" id="p-2b85e415ae40ac1bd43faf419127996d4b7886dc">Day 1 Data Structures</a></p><br />
<p>&nbsp;</p><br />
<p><a href="/iiday2" class="WikiLink" id="p-126fe20a488c280b54a59187dfe52db959ced025">Day 2 More Data Structures</a></p><br />
<p>&nbsp;</p><br />
<p><a href="/iiday3" class="WikiLink" id="p-0657bfa579b1a72eff0b60278bc516b07574cd4f">Day 3 FASTA Parsing, Iterator Subroutines, and the Perl Debugger</a></p><br />
<p>&nbsp;</p><br />
<p><a href="/iiday4-5" class="WikiLink" id="p-325fa2db43695d763de6eee17b12061b40f34ccf">Day 4 and 5  Event Based Parsing and State.</a></p><br />
]]></description>
  <pubDate>Wed, 07 Nov 2007 16:01:47 +0000</pubDate>
  <category>add</category>
 </item>
 <item>
  <title>iiday4-5</title>
  <link>http://perlsoflondon.pbwiki.com/iiday4-5</link>
  <author>email.hidden@example.com (Darin)</author>
  <description><![CDATA[<h3>Darin edited <a href="http://perlsoflondon.pbwiki.com/iiday4-5">iiday4-5</a></h3>
!--( push [ $sampleTableColumn1Value, $sampleTableColumn2Value ] onto @{$entry-&amp;gt;{'table'}})--&amp;gt;[SAMPLE TABLE DATA COLLECTION]<br />the result was /home/londo003/perl_class/scripts/geo_parser.pl.<br /><span style="font-weight:bold;color:green;background-color:#cfc;">On Wednesday, we will be doing a practical style test of your programming knowledge. I will make a few problems available to you, and you can write code to solve the problem, and cp them to me for my feedback (if you want). There is no grade, it is just to let you see what you know.</span><br />]]></description>
  <pubDate>Mon, 05 Nov 2007 20:36:27 +0000</pubDate>
  <category>mod</category>
 </item>
 <item>
  <title>iiday4-5</title>
  <link>http://perlsoflondon.pbwiki.com/iiday4-5</link>
  <author>email.hidden@example.com (Darin)</author>
  <description><![CDATA[<h3>Darin edited <a href="http://perlsoflondon.pbwiki.com/iiday4-5">iiday4-5</a></h3>
example Browser<br />[open]---&amp;gt;&amp;lt;? exit button hit ?&amp;gt;+---&amp;gt;[closed]<br /> entered<span style="color:red;background-color:#fcc;"> ?&amp;gt;+---&amp;gt;[new</span><span style="color:red;background-color:#fcc;"> url]---&amp;gt;[open]</span><span style="font-weight:bold;color:green;background-color:#cfc;"> ?&amp;gt;+--(go</span><span style="font-weight:bold;color:green;background-color:#cfc;"> to</span><span style="font-weight:bold;color:green;background-color:#cfc;"> new</span><span style="font-weight:bold;color:green;background-color:#cfc;"> url)---&amp;gt;[open]</span><br />!---&amp;gt;[open]<br />b. Event Based Processing: When you are processing a text file in perl, especially when you are using regular expressions, you will typically design the system around a pre-defined set of existing states, and make the system transition into different states upon encountering a specific regular expression (e.g. the state transition event occurs when the program encounters a line which matches a particular regular expression). In some cases, you will set perl variables to true (e.g. defined) or false (e.g. undefined), or test for the defined status of some part of your data structure to change or determine state.<br />]]></description>
  <pubDate>Mon, 05 Nov 2007 20:33:51 +0000</pubDate>
  <category>mod</category>
 </item>
 <item>
  <title>iiday4-5</title>
  <link>http://perlsoflondon.pbwiki.com/iiday4-5</link>
  <author>email.hidden@example.com (Darin)</author>
  <description><![CDATA[<h3>Darin added <a href="http://perlsoflondon.pbwiki.com/iiday4-5">iiday4-5</a></h3>
<p><strong>I. </strong><strong>State and Event Based Parsing<p><br />
</p></strong></p><br />
<p>a.&nbsp; All computer programs have some kind of state inherent to their execution.&nbsp; Whether or not you, the programmer, need to worry about this state is determined by the questions you are asking, or the task you are trying to solve.&nbsp; One type of programming in perl that regularly involves the use of state information is regular expression parsing of data.&nbsp; First, we need to define state.</p><br />
<p>&nbsp;</p><br />
<p>&nbsp;&nbsp;&nbsp; State:&nbsp; When a program runs, it is in the running state.&nbsp; For many programs, this is the only state that is ever expressed, and the programmer doesnt even take its existence into consideration unless the state is not entered correctly by the program (e.g. it terminates with syntax errors, or other exceptions).&nbsp; Other programs do, explicitly, take state into account, and design specific states into their execution model.&nbsp; User interfaces, such as the browser you are </p>]]></description>
  <pubDate>Mon, 05 Nov 2007 20:32:19 +0000</pubDate>
  <category>add</category>
 </item>
 <item>
  <title>iiday3</title>
  <link>http://perlsoflondon.pbwiki.com/iiday3</link>
  <author>email.hidden@example.com (Darin London)</author>
  <description><![CDATA[<h3>Darin London edited <a href="http://perlsoflondon.pbwiki.com/iiday3">iiday3</a></h3>
c. r : this command tells the perl debugger to run to the end of the current block of code. If you are in the 'main' block, e.g. in the main part of the script, this effectively tells the debugger to stop debugging, and just run to completion. If you are within a function, it will run to the end of the function.<br />d. b : this command allows you to set a break point. A break point is a place where the perl debugger will stop, even if you have hit the 'r' or 'n' command. You can set a point on the current line by typing just 'b'. You can tell perl to break at a future line by typing the line number after 'b', e.g. b 32 tells perl to break on line 32 in the perl code (note, if line 32 does not have any code on it, the debugger will tell you that it is not a proper line to break on). You can also break at the point that the perl debugger enters a function of a given name by passing the name of the function to b, e.g. b processStuff tells perl to break as soon as it enters the 'processStuff' function. Note, you c]]></description>
  <pubDate>Wed, 31 Oct 2007 00:22:04 +0000</pubDate>
  <category>mod</category>
 </item>
 <item>
  <title>iiday3</title>
  <link>http://perlsoflondon.pbwiki.com/iiday3</link>
  <author>email.hidden@example.com (Darin London)</author>
  <description><![CDATA[<h3>Darin London added <a href="http://perlsoflondon.pbwiki.com/iiday3">iiday3</a></h3>
<p>I.&nbsp; Perl Debugger usage</p><br />
<p>Perl comes with a very nice debugger.&nbsp; It will allow you to walk through the execution of a program step by step, print out the contents of variables, set break points where the code will stop before continuing on, etc.&nbsp; If you are using different perl modules for your work, it will even step through that code as well.&nbsp; To start the perl debugger on a script that you have written, pass the '-d' switch to the perl interpreter before the path to the script that you want to run: &gt;perl -d /path/to/script.pl.&nbsp; Here are a few (of the many) commands available for you to use while in a perl debugging session.</p><br />
<p>&nbsp;</p><br />
<p>&nbsp;&nbsp; a.&nbsp; s : this command allows you to 'step' into any subroutines that are about to be evaluated on the current line of code.&nbsp; If there are multiple functions being called, it will step through each one in the order that they would be evaluated.&nbsp; If you want to return from a function that you have stepp</p>]]></description>
  <pubDate>Tue, 30 Oct 2007 18:30:04 +0000</pubDate>
  <category>add</category>
 </item>
 <item>
  <title>iiday2</title>
  <link>http://perlsoflondon.pbwiki.com/iiday2</link>
  <author>email.hidden@example.com (Darin London)</author>
  <description><![CDATA[<h3>Darin London edited <a href="http://perlsoflondon.pbwiki.com/iiday2">iiday2</a></h3>
II. Fasta Processing<br />This section will introduce you to parsing strategies for one of the more prevalent sequence format files in existence. It will also introduce to you the value of using subroutines to arrange and structure your code, in order to make the code more readable, and maintainable. Finally, it will introduce the power of using perl to parse multiple files with different information to answer one or more questions. Here are some questions you might want to ask.<br />a.<span style="font-weight:bold;color:green;background-color:#cfc;"> Which</span><span style="font-weight:bold;color:green;background-color:#cfc;"> Gene</span><span style="font-weight:bold;color:green;background-color:#cfc;"> has</span><span style="font-weight:bold;color:green;background-color:#cfc;"> the</span><span style="font-weight:bold;color:green;background-color:#cfc;"> longest</span><span style="font-weight:bold;color:green;background-color:#cfc;"> sequence?</span><span style="font-weight:bold;color:green;background-color:#cfc;"><br />b.</span><span style="font-weight:bold;color:green;background-color:#cfc;"> How</span><span style="font-weight:bold;color:green;background-color:#cfc;"> many</span><span style="font-weight:bold;color:green;background-color:#cfc;"> A's,</span><span style="font-weight:bold;color:green;background-color:#cfc;"> G's,</span><span style="font-weight:bold;color:green;background-color:#cfc;"> C's,</span><span style="font-weight:bold;color:green;background-color:#cfc;"> and</span><span style="font-weight:bold;color:green;background-color:#cfc;"> T's</span><span style="font-weight:bold;color:green;background-color:#cfc;"> does</span><span style="font-weight:bold;color:green;background-color:#cfc;"> each</span><span style="font-weight:bold;color:green;background-color:#cfc;"> gene</span><span style="font-weight:bold;color:green;background-color:#cfc;"> contain?</span><span style="font-weight:bold;color:green;background-color:#cfc;"><br />c.</span><span style="font-weight:bold;color:green;background-color:#cfc;"> Is</span><span style="font-weight:bold;color:green;background-color:#cfc;"> it</span><span style="font-weight:bold;color:green;background-color:#cfc;"> G/C</span><span style="font-weight:bold;color:green;background-color:#cfc;"> rich</span><span style="font-weight:bold;color:green;background-color:#cfc;"> (e.g.</span><span style="font-weight:bold;color:green;background-color:#cfc;"> are</span><span style="font-weight:bold;color:green;background-color:#cfc;"> there</span><span style="font-weight:bold;color:green;background-color:#cfc;"> more</span><span style="font-weight:bold;color:green;background-color:#cfc;"> G</span><span style="font-weight:bold;color:green;background-color:#cfc;"> +</span><span style="font-weight:bold;color:green;background-color:#cfc;"> C</span><span style="font-weight:bold;color:green;background-color:#cfc;"> than</span><span style="font-weight:bold;color:green;background-color:#cfc;"> A</span><span style="font-weight:bold;color:green;background-color:#cfc;"> +</span><span style="font-weight:bold;color:green;background-color:#cfc;"> T)?</span><in]]></description>
  <pubDate>Tue, 23 Oct 2007 20:26:26 +0000</pubDate>
  <category>mod</category>
 </item>
 <item>
  <title>iiday2</title>
  <link>http://perlsoflondon.pbwiki.com/iiday2</link>
  <author>email.hidden@example.com (Darin London)</author>
  <description><![CDATA[<h3>Darin London added <a href="http://perlsoflondon.pbwiki.com/iiday2">iiday2</a></h3>
<p>I.&nbsp; Continue from Monday</p><br />
<p>&nbsp;&nbsp;&nbsp; Review&nbsp;<a href="/iiday1" class="WikiLink" id="p-2b85e415ae40ac1bd43faf419127996d4b7886dc">Day 1 Section V</a> Questions about the CSV file.&nbsp; Write scripts to answer all the questions.&nbsp; You should also try to create scripts which create all the possible data structures, just to learn how to do it.</p><br />
<p>II.&nbsp; Fasta Processing</p><br />
<p>&nbsp; This section will introduce you to parsing strategies for one of the more prevalent sequence format files in existence.&nbsp; It will also introduce to you the value of using subroutines to arrange and structure your code, in order to make the code more readable, and maintainable.&nbsp; Finally, it will introduce the power of using perl to parse multiple files with different information to answer one or more questions.&nbsp; Here are some questions you might want to ask.</p><br />
<p>&nbsp;</p><br />
<p>&nbsp;&nbsp;&nbsp;&nbsp; a.&nbsp; Write out the sequence for the gene with the most snps.&nbsp; If the</p>]]></description>
  <pubDate>Tue, 23 Oct 2007 20:19:02 +0000</pubDate>
  <category>add</category>
 </item>
</channel>
</rss>
