<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Stuff &#38; other stuff</title>
	<atom:link href="http://wbachnik.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://wbachnik.wordpress.com</link>
	<description>...enough already!</description>
	<lastBuildDate>Thu, 10 Mar 2011 22:53:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='wbachnik.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Stuff &#38; other stuff</title>
		<link>http://wbachnik.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://wbachnik.wordpress.com/osd.xml" title="Stuff &#38; other stuff" />
	<atom:link rel='hub' href='http://wbachnik.wordpress.com/?pushpress=hub'/>
		<item>
		<title>ShackShag 0.6.1</title>
		<link>http://wbachnik.wordpress.com/2011/02/12/shackshag-0-6-1/</link>
		<comments>http://wbachnik.wordpress.com/2011/02/12/shackshag-0-6-1/#comments</comments>
		<pubDate>Sat, 12 Feb 2011 16:51:39 +0000</pubDate>
		<dc:creator>wb</dc:creator>
				<category><![CDATA[ShackShag]]></category>

		<guid isPermaLink="false">http://wbachnik.wordpress.com/?p=61</guid>
		<description><![CDATA[ShackShag 0.6.1 was released today. This version fixes problem with uploading images after changes made by Imageshack (thanks Dave!). You can download ShackShag from http://code.google.com/p/shackshag/downloads/list, source code is available at http://code.google.com/p/shackshag/source/checkout Windows users may need to install Microsoft Visual C++ &#8230; <a href="http://wbachnik.wordpress.com/2011/02/12/shackshag-0-6-1/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wbachnik.wordpress.com&amp;blog=10494&amp;post=61&amp;subd=wbachnik&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>ShackShag 0.6.1 was released today. This version fixes problem with uploading images after changes made by Imageshack (thanks Dave!).</p>
<p>You can download ShackShag from <a title="Go to ShackShag dowload site" href="http://code.google.com/p/shackshag/downloads/list">http://code.google.com/p/shackshag/downloads/list</a>, source code is available at <a href="http://code.google.com/p/shackshag/source/checkout">http://code.google.com/p/shackshag/source/checkout</a></p>
<p>Windows users may need to install <a rel="nofollow" href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&amp;displaylang=en">Microsoft Visual C++ 2008 Redistributable Package (go to download page)</a> in order to run ShackShag exe file.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wbachnik.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wbachnik.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wbachnik.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wbachnik.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wbachnik.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wbachnik.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wbachnik.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wbachnik.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wbachnik.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wbachnik.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wbachnik.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wbachnik.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wbachnik.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wbachnik.wordpress.com/61/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wbachnik.wordpress.com&amp;blog=10494&amp;post=61&amp;subd=wbachnik&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wbachnik.wordpress.com/2011/02/12/shackshag-0-6-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/850825da18512fca8a67a401ca49b051?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wbachnik</media:title>
		</media:content>
	</item>
		<item>
		<title>ShackShag 0.6</title>
		<link>http://wbachnik.wordpress.com/2010/05/24/shackshag-0-6/</link>
		<comments>http://wbachnik.wordpress.com/2010/05/24/shackshag-0-6/#comments</comments>
		<pubDate>Mon, 24 May 2010 10:43:51 +0000</pubDate>
		<dc:creator>wb</dc:creator>
				<category><![CDATA[ShackShag]]></category>

		<guid isPermaLink="false">http://wbachnik.wordpress.com/?p=54</guid>
		<description><![CDATA[ShackShag 0.6 was released a few days ago. Changes in the new release: added handling of unexpected server response codes added possibility to retry upload given number of times (-n X or &#8211;retries X command line switch) added reporting of &#8230; <a href="http://wbachnik.wordpress.com/2010/05/24/shackshag-0-6/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wbachnik.wordpress.com&amp;blog=10494&amp;post=54&amp;subd=wbachnik&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>ShackShag 0.6 was released a few days ago. Changes in the new release:</p>
<ul>
<li>added handling of unexpected server response codes</li>
<li>added possibility to retry upload given number of times (-n X or &#8211;retries X command line switch)</li>
<li>added reporting of failed uploads (reported to stdout by default, can be saved to file)</li>
<li>added verbose mode (&#8211;verbose or -v command line switch)</li>
<li>fixed retrieving thumbnail links for small images</li>
<li>added support for using file name masks under Windows and shells that don&#8217;t expand file masks</li>
</ul>
<p>As usual, you can download ShackShag from <a title="Go to ShackShag dowload site" href="http://code.google.com/p/shackshag/downloads/list">http://code.google.com/p/shackshag/downloads/list</a>, source code is available at <a href="http://code.google.com/p/shackshag/source/checkout">http://code.google.com/p/shackshag/source/checkout</a></p>
<p>Have fun!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wbachnik.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wbachnik.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wbachnik.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wbachnik.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wbachnik.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wbachnik.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wbachnik.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wbachnik.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wbachnik.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wbachnik.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wbachnik.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wbachnik.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wbachnik.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wbachnik.wordpress.com/54/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wbachnik.wordpress.com&amp;blog=10494&amp;post=54&amp;subd=wbachnik&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wbachnik.wordpress.com/2010/05/24/shackshag-0-6/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/850825da18512fca8a67a401ca49b051?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wbachnik</media:title>
		</media:content>
	</item>
		<item>
		<title>ShackShag for Windows is available</title>
		<link>http://wbachnik.wordpress.com/2010/01/20/shackshag-for-windows-is-available/</link>
		<comments>http://wbachnik.wordpress.com/2010/01/20/shackshag-for-windows-is-available/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 21:46:45 +0000</pubDate>
		<dc:creator>wb</dc:creator>
				<category><![CDATA[ShackShag]]></category>

		<guid isPermaLink="false">http://wbachnik.wordpress.com/?p=42</guid>
		<description><![CDATA[You can download ShackShag for Windows on the project&#8217;s page: http://code.google.com/p/shackshag/downloads/list You don&#8217;t have to install anything. You don&#8217;t even need python inerpreter in your system. The shackshag-0.5.win32.zip package contains single executable and a &#8220;readme&#8221; file. Simply download the package, &#8230; <a href="http://wbachnik.wordpress.com/2010/01/20/shackshag-for-windows-is-available/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wbachnik.wordpress.com&amp;blog=10494&amp;post=42&amp;subd=wbachnik&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>You can download ShackShag for Windows on the project&#8217;s page: <a title="Go to the download page!" href="http://code.google.com/p/shackshag/downloads/list">http://code.google.com/p/shackshag/downloads/list</a></p>
<p>You don&#8217;t have to install anything. You don&#8217;t even need python inerpreter in your system. The <em>shackshag-0.5.win32.zip</em> package contains single executable and a &#8220;readme&#8221; file. Simply download the package, unzip and run ShackShag any way you like!</p>
<p>Good luck!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wbachnik.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wbachnik.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wbachnik.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wbachnik.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wbachnik.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wbachnik.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wbachnik.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wbachnik.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wbachnik.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wbachnik.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wbachnik.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wbachnik.wordpress.com/42/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wbachnik.wordpress.com/42/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wbachnik.wordpress.com/42/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wbachnik.wordpress.com&amp;blog=10494&amp;post=42&amp;subd=wbachnik&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wbachnik.wordpress.com/2010/01/20/shackshag-for-windows-is-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/850825da18512fca8a67a401ca49b051?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wbachnik</media:title>
		</media:content>
	</item>
		<item>
		<title>ShackShag 0.5</title>
		<link>http://wbachnik.wordpress.com/2010/01/09/shackshag-0-5/</link>
		<comments>http://wbachnik.wordpress.com/2010/01/09/shackshag-0-5/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 21:53:43 +0000</pubDate>
		<dc:creator>wb</dc:creator>
				<category><![CDATA[ShackShag]]></category>

		<guid isPermaLink="false">http://wbachnik.wordpress.com/?p=36</guid>
		<description><![CDATA[ShackShag is still alive! I just released a new version &#8212; 0.5. There are two major changes: ShackShag is now compatible with the latest ImageShack interface &#8212; in other words: it works again code was refactored, allowing easier integration &#8212; &#8230; <a href="http://wbachnik.wordpress.com/2010/01/09/shackshag-0-5/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wbachnik.wordpress.com&amp;blog=10494&amp;post=36&amp;subd=wbachnik&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>ShackShag is still alive!</p>
<p>I just released a new version &#8212; 0.5. There are two major changes:</p>
<ul>
<li>ShackShag is now compatible with the latest ImageShack interface &#8212; in other words: <em>it works again</em></li>
<li>code was refactored, allowing easier integration &#8212; you can use ShackShag in your code as any other python module</li>
</ul>
<p>As usual, you an download the latest version from the project page: <a href="http://code.google.com/p/shackshag/">http://code.google.com/p/shackshag/</a></p>
<p>Have fun!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wbachnik.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wbachnik.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wbachnik.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wbachnik.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wbachnik.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wbachnik.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wbachnik.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wbachnik.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wbachnik.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wbachnik.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wbachnik.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wbachnik.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wbachnik.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wbachnik.wordpress.com/36/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wbachnik.wordpress.com&amp;blog=10494&amp;post=36&amp;subd=wbachnik&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wbachnik.wordpress.com/2010/01/09/shackshag-0-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/850825da18512fca8a67a401ca49b051?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wbachnik</media:title>
		</media:content>
	</item>
		<item>
		<title>ShackShag 0.1.2</title>
		<link>http://wbachnik.wordpress.com/2007/07/04/shackshag-012/</link>
		<comments>http://wbachnik.wordpress.com/2007/07/04/shackshag-012/#comments</comments>
		<pubDate>Wed, 04 Jul 2007 12:41:41 +0000</pubDate>
		<dc:creator>wb</dc:creator>
				<category><![CDATA[ShackShag]]></category>

		<guid isPermaLink="false">http://wbachnik.wordpress.com/2007/07/04/shackshag-012/</guid>
		<description><![CDATA[There were some changes in ImageShack web interface, which caused ShackShag to stop working. Hopefully, the new release is doing just fine. You can get it from Google hosting page. I&#8217;d like to thank Wael, Allesio and Yannick for their &#8230; <a href="http://wbachnik.wordpress.com/2007/07/04/shackshag-012/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wbachnik.wordpress.com&amp;blog=10494&amp;post=35&amp;subd=wbachnik&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There were some changes in ImageShack web interface, which caused ShackShag to stop working. Hopefully, the new release is doing just fine. You can get it from <a href="http://code.google.com/p/shackshag/downloads/list">Google hosting page</a>.</p>
<p>I&#8217;d like to thank Wael, Allesio and Yannick for their reports and patch proposals. Guys, I&#8217;m sorry it took so long, but I had to face some other challenges in my life.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/wbachnik.wordpress.com/35/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/wbachnik.wordpress.com/35/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wbachnik.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wbachnik.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wbachnik.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wbachnik.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wbachnik.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wbachnik.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wbachnik.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wbachnik.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wbachnik.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wbachnik.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wbachnik.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wbachnik.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wbachnik.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wbachnik.wordpress.com/35/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wbachnik.wordpress.com&amp;blog=10494&amp;post=35&amp;subd=wbachnik&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wbachnik.wordpress.com/2007/07/04/shackshag-012/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/850825da18512fca8a67a401ca49b051?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wbachnik</media:title>
		</media:content>
	</item>
		<item>
		<title>Function references in Perl</title>
		<link>http://wbachnik.wordpress.com/2006/11/02/function-references-in-perl/</link>
		<comments>http://wbachnik.wordpress.com/2006/11/02/function-references-in-perl/#comments</comments>
		<pubDate>Thu, 02 Nov 2006 11:26:21 +0000</pubDate>
		<dc:creator>wb</dc:creator>
				<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://wbachnik.wordpress.com/2006/11/02/function-references-in-perl/</guid>
		<description><![CDATA[My task was to write a file processor that would perform some data manipulation in different file types. Since the general mechanism was the same for all files, but the procedure differed slightly for each file type I decided to &#8230; <a href="http://wbachnik.wordpress.com/2006/11/02/function-references-in-perl/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wbachnik.wordpress.com&amp;blog=10494&amp;post=29&amp;subd=wbachnik&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>My task was to write a file processor that would perform some data manipulation in different file types. Since the general mechanism was the same for all files, but the procedure differed slightly for each file type I decided to build one function that would serve as a framework and little specialized functions to handle operations for each file type. That sounded reasonable and would provide elegant solution, preventing code duplication at the same time. The only problem was <em>how</em>.</p>
<p>Since passing function pointers is possible in C, why shouldn&#8217;t it be in Perl, I asked? While my Perl skills are rather rusty (last time I used it was a few years ago) I was still able to come up with the solution after browsing Perl documentation and googling a bit. I couldn&#8217;t find a clear example of handling function references, though, and that&#8217;s why I&#8217;m writing this now.</p>
<p>Two simple functions for different file types, they will be passed by reference later:</p>
<pre><code>
# type1 requires second token in each line to be
# turned to upper case
sub type1_handler {
    my $line = shift;
    # ignore comments
    if ($line !~ m/^#/) {
        my @parts = split(/ /, $line);
        # capitalize second token in line
        $parts[1] = uc $parts[1];
        $line = join(" ", @parts);
    }
    return $line;
}

# type2 requires second token in each line to be
# turned to lower case
sub type2_handler {
    my $line = shift;
    # ignore comments
    if ($line !~ m/^#/) {
        my @parts = split(/ /, $line);
        # capitalize second token in line
        $parts[1] = lc $parts[1];
        $line = join(" ", @parts);
    }
    return $line;
}
</code></pre>
<p>General file handling function, it takes two parameters: reference to the line handling function and list of file names to be processed. It uses get_file_name() function (not defined here) to generate new file name for the output file. Here&#8217;s the code:</p>
<pre><code>
my $OUTPUT_DIR = './output/';

sub process_files {
    my ($line_handler, @files) = @_;
    foreach my $file_name (@files) {
        print "Processing: $file_name &#92;n";
        my $new_file_name = get_file_name($file_name);
        open(INPUT, " $OUTPUT_DIR$new_file_name") or die("Could not open output file: $OUTPUT_DIR$new_file_name &#92;n");
        while (my $line = &lt;INPUT&gt;) {
            print OUTPUT &amp;$line_handler($line);
        }
    close(INPUT) or die("Could not close input file: $file_name &#92;n");
    close(OUTPUT) or die("Could not close output file: $OUTPUT_DIR$new_file_name &#92;n");
    }
}
</code></pre>
<p>As you can see, function reference can be stored in a scalar variable. Once you want to call referenced function, you use ampersand (<code>&amp;</code>) before the reference name, like this: <code>&amp;$reference_name($param1, $param2)</code></p>
<p>How to create function references and pass them to other functions? You simply need to put a backslash and ampersand (<code>\&amp;</code>) in front of the function name. Example:</p>
<pre><code>
#process type1 files
process_files(&#92;&amp;type1_handler, &lt;*.type1&gt;);
# process type2 files
process_files(&#92;&amp;type2_handler, &lt;*.type2&gt;);
</code></pre>
<p>As you can see, using function references in Perl is pretty simple, once you find out how to pass them around.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/wbachnik.wordpress.com/29/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/wbachnik.wordpress.com/29/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wbachnik.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wbachnik.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wbachnik.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wbachnik.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wbachnik.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wbachnik.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wbachnik.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wbachnik.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wbachnik.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wbachnik.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wbachnik.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wbachnik.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wbachnik.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wbachnik.wordpress.com/29/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wbachnik.wordpress.com&amp;blog=10494&amp;post=29&amp;subd=wbachnik&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wbachnik.wordpress.com/2006/11/02/function-references-in-perl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/850825da18512fca8a67a401ca49b051?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wbachnik</media:title>
		</media:content>
	</item>
		<item>
		<title>SVN repository @ Google Code Hosting</title>
		<link>http://wbachnik.wordpress.com/2006/09/18/svn-repository-google-code-hosting/</link>
		<comments>http://wbachnik.wordpress.com/2006/09/18/svn-repository-google-code-hosting/#comments</comments>
		<pubDate>Mon, 18 Sep 2006 20:14:34 +0000</pubDate>
		<dc:creator>wb</dc:creator>
				<category><![CDATA[ShackShag]]></category>

		<guid isPermaLink="false">http://wbachnik.wordpress.com/2006/09/18/svn-repository-google-code-hosting/</guid>
		<description><![CDATA[ShackShag&#8217;s code is now hosted in SVN repository provided by Google. You can find the project&#8217;s page at: http://code.google.com/p/shackshag/ Feel free to check out the latest version and mess with it. Thanks, Google!<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wbachnik.wordpress.com&amp;blog=10494&amp;post=28&amp;subd=wbachnik&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>ShackShag&#8217;s code is now hosted in SVN repository provided by Google.</p>
<p>You can find the project&#8217;s page at: <a href="http://code.google.com/p/shackshag/">http://code.google.com/p/shackshag/</a><br />
Feel free to check out the latest version and mess with it.</p>
<p><em>Thanks, Google!</em></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/wbachnik.wordpress.com/28/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/wbachnik.wordpress.com/28/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wbachnik.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wbachnik.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wbachnik.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wbachnik.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wbachnik.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wbachnik.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wbachnik.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wbachnik.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wbachnik.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wbachnik.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wbachnik.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wbachnik.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wbachnik.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wbachnik.wordpress.com/28/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wbachnik.wordpress.com&amp;blog=10494&amp;post=28&amp;subd=wbachnik&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wbachnik.wordpress.com/2006/09/18/svn-repository-google-code-hosting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/850825da18512fca8a67a401ca49b051?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wbachnik</media:title>
		</media:content>
	</item>
		<item>
		<title>ShackShag in Arch Linux</title>
		<link>http://wbachnik.wordpress.com/2006/08/29/shackshag-in-arch-linux/</link>
		<comments>http://wbachnik.wordpress.com/2006/08/29/shackshag-in-arch-linux/#comments</comments>
		<pubDate>Tue, 29 Aug 2006 21:17:40 +0000</pubDate>
		<dc:creator>wb</dc:creator>
				<category><![CDATA[ShackShag]]></category>

		<guid isPermaLink="false">https://wbachnik.wordpress.com/2006/08/29/shackshag-in-arch-linux/</guid>
		<description><![CDATA[By accident, I found out that my little project made its way to Arch Linux repository (package page). Wow! There&#8217;s even an account support patch provided, but it doesn&#8217;t seem to bring any new functionality. That&#8217;s a really nice way &#8230; <a href="http://wbachnik.wordpress.com/2006/08/29/shackshag-in-arch-linux/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wbachnik.wordpress.com&amp;blog=10494&amp;post=27&amp;subd=wbachnik&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>By accident, I found out that <a href="http://bachnik.com/projects/shackshag/">my little project</a> made its way to <a href="http://www.archlinux.org/">Arch Linux</a> repository (<a href="http://aur.archlinux.org/packages.php?do_Details=1&amp;ID=6581">package page</a>). <em>Wow! </em>There&#8217;s even an account support patch provided, but it doesn&#8217;t seem to bring any new functionality.</p>
<p>That&#8217;s a really nice way to provide me with motivation! I&#8217;ll get back to development as soon as I finish writing my thesis (I expect that to happen by the middle of September). Account support is on top of my to-do list, and I already have working <em>proof-of-concept</em> code. Stay tuned.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/wbachnik.wordpress.com/27/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/wbachnik.wordpress.com/27/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wbachnik.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wbachnik.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wbachnik.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wbachnik.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wbachnik.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wbachnik.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wbachnik.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wbachnik.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wbachnik.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wbachnik.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wbachnik.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wbachnik.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wbachnik.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wbachnik.wordpress.com/27/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wbachnik.wordpress.com&amp;blog=10494&amp;post=27&amp;subd=wbachnik&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wbachnik.wordpress.com/2006/08/29/shackshag-in-arch-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/850825da18512fca8a67a401ca49b051?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wbachnik</media:title>
		</media:content>
	</item>
		<item>
		<title>ShackShag 0.1.1</title>
		<link>http://wbachnik.wordpress.com/2006/01/06/shackshag-011/</link>
		<comments>http://wbachnik.wordpress.com/2006/01/06/shackshag-011/#comments</comments>
		<pubDate>Fri, 06 Jan 2006 17:37:56 +0000</pubDate>
		<dc:creator>wb</dc:creator>
				<category><![CDATA[ShackShag]]></category>

		<guid isPermaLink="false">http://wbachnik.wordpress.com/2006/01/06/shackshag-011/</guid>
		<description><![CDATA[I added -r switch which causes removing the size information bar from thumbnails of uploaded images. You can download the script from ShackShag homepage.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wbachnik.wordpress.com&amp;blog=10494&amp;post=24&amp;subd=wbachnik&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I added <strong>-r</strong> switch which causes removing the size information bar from thumbnails of uploaded images. You can download the script from <a href="http://bachnik.com/projects/shackshag/">ShackShag homepage</a>.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/wbachnik.wordpress.com/24/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/wbachnik.wordpress.com/24/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wbachnik.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wbachnik.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wbachnik.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wbachnik.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wbachnik.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wbachnik.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wbachnik.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wbachnik.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wbachnik.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wbachnik.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wbachnik.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wbachnik.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wbachnik.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wbachnik.wordpress.com/24/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wbachnik.wordpress.com&amp;blog=10494&amp;post=24&amp;subd=wbachnik&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wbachnik.wordpress.com/2006/01/06/shackshag-011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/850825da18512fca8a67a401ca49b051?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wbachnik</media:title>
		</media:content>
	</item>
		<item>
		<title>ShackShag 0.1 &#8212; ImageShack batch image uploader &#8212; initial release</title>
		<link>http://wbachnik.wordpress.com/2005/12/14/shackshag-01-imageshack-batch-image-uploader-initial-release/</link>
		<comments>http://wbachnik.wordpress.com/2005/12/14/shackshag-01-imageshack-batch-image-uploader-initial-release/#comments</comments>
		<pubDate>Wed, 14 Dec 2005 19:47:46 +0000</pubDate>
		<dc:creator>wb</dc:creator>
				<category><![CDATA[ShackShag]]></category>

		<guid isPermaLink="false">http://wbachnik.wordpress.com/2005/12/14/shackshag-01-imageshack-batch-image-uploader-initial-release/</guid>
		<description><![CDATA[ShackShag is a small script allowing you to upload many images to imageshack.us hosting service. It was written in Python and should run on any platform that supports Python interpreter. It&#8217;s free software, released under the GPL license. You&#8217;ll find &#8230; <a href="http://wbachnik.wordpress.com/2005/12/14/shackshag-01-imageshack-batch-image-uploader-initial-release/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wbachnik.wordpress.com&amp;blog=10494&amp;post=23&amp;subd=wbachnik&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>ShackShag is a small script allowing you to upload many images to <a href="http://imageshack.us">imageshack.us hosting service</a>. It was written in <a href="http://python.org">Python</a> and should run on any platform that supports Python interpreter. It&#8217;s free software, released under the GPL license.</p>
<p>You&#8217;ll find more details and download links on <a href="http://bachnik.com/projects/shackshag/">project&#8217;s homepage</a>.</p>
<p>ShackShag is still in development, more features are expected soon.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/wbachnik.wordpress.com/23/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/wbachnik.wordpress.com/23/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wbachnik.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wbachnik.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wbachnik.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wbachnik.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wbachnik.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wbachnik.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wbachnik.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wbachnik.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wbachnik.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wbachnik.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wbachnik.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wbachnik.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wbachnik.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wbachnik.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wbachnik.wordpress.com&amp;blog=10494&amp;post=23&amp;subd=wbachnik&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wbachnik.wordpress.com/2005/12/14/shackshag-01-imageshack-batch-image-uploader-initial-release/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/850825da18512fca8a67a401ca49b051?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wbachnik</media:title>
		</media:content>
	</item>
	</channel>
</rss>
