<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Commavee</title>
	
	<link>http://commavee.com</link>
	<description>from John Minnihan, founder of Freepository.</description>
	<lastBuildDate>Sat, 20 Feb 2010 19:08:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Commavee" /><feedburner:info uri="commavee" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><image><link>http://commavee.com</link><url>http://commavee.com/images/commavee-badge.gif</url><title>CommaVee</title></image><feedburner:browserFriendly>If you are interested in the software development topics covered at CommaVee, you'll want to check out Freepository - we provide Instant Development Infrastructure. http://freepository.com</feedburner:browserFriendly><item>
		<title>Tech Tip: Resolving screen flicker when a DOM element is updated asynchronously</title>
		<link>http://feedproxy.google.com/~r/Commavee/~3/3-Hgaqv_Ni0/</link>
		<comments>http://commavee.com/2010/02/13/tech-tip-resolving-screen-flicker-when-a-dom-element-is-updated-asynchronously/#comments</comments>
		<pubDate>Sat, 13 Feb 2010 23:03:53 +0000</pubDate>
		<dc:creator>John Minnihan</dc:creator>
				<category><![CDATA[General Technology]]></category>

		<guid isPermaLink="false">http://commavee.com/2010/02/13/tech-tip-resolving-screen-flicker-when-a-dom-element-is-updated-asynchronously/</guid>
		<description><![CDATA[This tech tip is useful enough to warrant its own post.
If you are updating a DOM element via javascript, for example replacing the content or changing the style, you may notice screen flicker during the update.  Screen flicker on any div update is usually the result of a collision of heights of the elements that are [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcommavee.com%2F2010%2F02%2F13%2Ftech-tip-resolving-screen-flicker-when-a-dom-element-is-updated-asynchronously%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcommavee.com%2F2010%2F02%2F13%2Ftech-tip-resolving-screen-flicker-when-a-dom-element-is-updated-asynchronously%2F" height="61" width="51" /></a></div><p><span style="font-family: Arial; font-size: 10pt">This tech tip is useful enough to warrant its own post.</span></p>
<p><span style="font-family: Arial; font-size: 10pt">If you are updating a DOM element via javascript, for example replacing the content or changing the style, you may notice screen flicker during the update.  Screen flicker on any div update is usually the result of a collision of heights of the elements that are changing.<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " /><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />Be sure that there&#8217;s adequate space (or at least no overlap) between the div you are updating and any adjacent divs. The flicker is caused when the DOM renders the new placement &amp; has to &#8216;adjust&#8217; the overlap.</span></p>
<p><!--pp-thumb-start--><!--PictPress found no dir /usr/local/apache2/htdocs/wordpress/wp-content/uploads/2010/02/tech-tip-resolving-screen-flicker-when-a-dom-element-is-updated-asynchronously--><!--pp-thumb-end--></p>
<img src="http://commavee.com/?ak_action=api_record_view&id=825&type=feed" alt="" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Commavee?a=3-Hgaqv_Ni0:0dAG2MktIH0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Commavee?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Commavee?a=3-Hgaqv_Ni0:0dAG2MktIH0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Commavee?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Commavee/~4/3-Hgaqv_Ni0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://commavee.com/2010/02/13/tech-tip-resolving-screen-flicker-when-a-dom-element-is-updated-asynchronously/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://commavee.com/2010/02/13/tech-tip-resolving-screen-flicker-when-a-dom-element-is-updated-asynchronously/</feedburner:origLink></item>
		<item>
		<title>Themes, themes, themes…</title>
		<link>http://feedproxy.google.com/~r/Commavee/~3/ea8Nrm_pGXg/</link>
		<comments>http://commavee.com/2010/01/23/themes-themes-themes/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 19:49:51 +0000</pubDate>
		<dc:creator>John Minnihan</dc:creator>
				<category><![CDATA[General Technology]]></category>

		<guid isPermaLink="false">http://commavee.com/2010/01/23/themes-themes-themes/</guid>
		<description><![CDATA[You may have noticed that I&#8217;ve been changing the theme of the site today. 
I&#8217;ll settle on one I like soon, but this exercise &#8211; which I undertake every 3 &#8211; 6 months &#8211; made me consider why I do this.  It would be easy to say that I simply bore quickly with any given [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcommavee.com%2F2010%2F01%2F23%2Fthemes-themes-themes%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcommavee.com%2F2010%2F01%2F23%2Fthemes-themes-themes%2F" height="61" width="51" /></a></div><p><span style="font-family: Arial">You may have noticed that I&#8217;ve been changing the theme of the site today. </span></p>
<p><span style="font-family: Arial">I&#8217;ll settle on one I like soon, but this exercise &#8211; which I undertake every 3 &#8211; 6 months &#8211; made me consider why I do this.  It would be easy to say that I simply bore quickly with any given theme &amp; want to try others, but the real reason is more subtle&#8230; and vastly more interesting.</span></p>
<p><span style="font-family: Arial">I believe that visual cues are a huge part of effective communication.  Experimenting with different themes allows me to see, for myself, the results of these changes.  </span></p>
<p><!--pp-thumb-start--><!--PictPress found no dir /usr/local/apache2/htdocs/wordpress/wp-content/uploads/2010/01/themes-themes-themes--><!--pp-thumb-end--></p>
<img src="http://commavee.com/?ak_action=api_record_view&id=765&type=feed" alt="" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Commavee?a=ea8Nrm_pGXg:cl23wg-LcrM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Commavee?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Commavee?a=ea8Nrm_pGXg:cl23wg-LcrM:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Commavee?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Commavee/~4/ea8Nrm_pGXg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://commavee.com/2010/01/23/themes-themes-themes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://commavee.com/2010/01/23/themes-themes-themes/</feedburner:origLink></item>
		<item>
		<title>Mountain biking in Vail</title>
		<link>http://feedproxy.google.com/~r/Commavee/~3/RzusRUhZXR0/</link>
		<comments>http://commavee.com/2009/07/28/mountain-biking-in-vail/#comments</comments>
		<pubDate>Tue, 28 Jul 2009 17:18:10 +0000</pubDate>
		<dc:creator>John Minnihan</dc:creator>
				<category><![CDATA[Sports & Fitness]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[mountain biking]]></category>
		<category><![CDATA[sports]]></category>

		<guid isPermaLink="false">http://commavee.com/?p=595</guid>
		<description><![CDATA[



Image via Wikipedia



We&#8217;ve just returned from four days in Vail. This trip was to celebrate my birthday, but the theme was mountain biking.  On Sunday, we took the gondola up to the top &#38; rode our bikes back down.
We stayed in Vail Village, which is a short bike ride from Lionshead, where we caught the Eagle Bahn Gondola [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcommavee.com%2F2009%2F07%2F28%2Fmountain-biking-in-vail%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcommavee.com%2F2009%2F07%2F28%2Fmountain-biking-in-vail%2F" height="61" width="51" /></a></div><div class="zemanta-img zemanta-action-dragged" style="margin: 1em; display: block;">
<div>
<dl class="wp-caption aligleftt" style="width: 310px;">
<dt class="wp-caption-dt"><a href="http://commons.wikipedia.org/wiki/Image:Hardtail-mountain-bike.jpg"><img title="A hardtail mountain bike." src="http://commavee.com/wp-content/uploads/2009/12/300px-Hardtail-mountain-bike.jpg" alt="A hardtail mountain bike." width="300" height="198" /></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution" style="font-size: 0.8em;">Image via <a href="http://commons.wikipedia.org/wiki/Image:Hardtail-mountain-bike.jpg">Wikipedia</a></dd>
</dl>
</div>
</div>
<p>We&#8217;ve just returned from four days in <a class="zem_slink" title="Vail, Colorado" rel="geolocation" href="http://maps.google.com/maps?ll=39.6358333333,-106.363055556&amp;spn=0.1,0.1&amp;q=39.6358333333,-106.363055556 (Vail%2C%20Colorado)&amp;t=h">Vail</a>. This trip was to celebrate my birthday, but the theme was <a class="zem_slink" title="Mountain biking" rel="wikipedia" href="http://en.wikipedia.org/wiki/Mountain_biking">mountain biking</a>.  On Sunday, we took the gondola up to the top &amp; rode our bikes back down.</p>
<p>We stayed in Vail Village, which is a short bike ride from Lionshead, where we caught the Eagle Bahn Gondola up to Adventure Ridge at an elevation of 10,350 feet.</p>
<p>The system they use to get bikes to the top is pretty cool &#8211; the seat in each gondola cab flips up to reveal a bike rack large enough for two full-size mountain bikes.</p>
<div id="attachment_604" class="wp-caption alignleft" style="width: 190px"><img class="size-medium wp-image-604" style="border: 10px solid white;" title="Eagle Bahn Gondola" src="http://commavee.com/wp-content/uploads/2009/07/IMG_0654-225x300.jpg" alt="IMG_0654" width="180" height="240" /><p class="wp-caption-text">View from Eagle Bahn Gondola</p></div>
<p>The bikes are set into the cab (two each) and off they go.  We rode in the next cab &amp; headed to the top.</p>
<p>At the top, there are a couple restaurants and other attractions, for example a trampoline bounce rig (you strap into a harness that is hoisted up 15 feet &amp; you perform wild acrobatics as you bounce), as well as the convergence of many trails.  It is here that we caught the start of the Village Trail.</p>
<div id="attachment_610" class="wp-caption alignright" style="width: 160px"><a href="http://commavee.com/wp-content/uploads/2009/07/IMG_0674.JPG"><img class="size-thumbnail wp-image-610" title="Village Trail" src="http://commavee.com/wp-content/uploads/2009/07/IMG_0674-150x150.jpg" alt="Beginning of Village Trail" width="150" height="150" /></a><p class="wp-caption-text">Beginning of Village Trail</p></div>
<p>Village Trail is &#8220;the longest and most pleasant route on the mountain&#8221; (from the 2009 Vail Summer Trail Map).  It is a 7 mile gravel road that winds down the mountain in broad, sweeping arcs.  This isn&#8217;t a technically challenging trail, but worked very well for our different skill levels.</p>
<p>One advantage to using this trail is that it allowed my oldest son &amp; I to pull ahead of my wife and youngest son and just go<em> fast. </em> At one point, I know I was traveling at nearly 40 mph down the trail.   This was both awesome and a bit terrifying, as neither of us was wearing any safety gear other than a standard biking helmet.</p>
<div id="attachment_611" class="wp-caption alignleft" style="width: 145px"><a href="http://commavee.com/wp-content/uploads/2009/07/IMG_0677.JPG"><img class="size-medium wp-image-611" title="Snowmobiles" src="http://commavee.com/wp-content/uploads/2009/07/IMG_0677-225x300.jpg" alt="Snowmobiles parked in meadow" width="135" height="180" /></a><p class="wp-caption-text">Snowmobiles parked in meadow</p></div>
<p>Near the top of the trail, we saw a slightly curious sight: dozens of snowmobiles parked in a meadow.  This is where the <a class="zem_slink" title="Ski patrol" rel="wikipedia" href="http://en.wikipedia.org/wiki/Ski_patrol">Ski Patrol</a>&#8217;s snowmobiles are parked off-season.  Notice how many of the sleds have orange-flagged whiptails &#8211; this provides additional visibility in deep snow.</p>
<p>It was really cool riding down the mountain &amp; passing alongside (and underneath) so much of the lift equipment.  The signage that guides winter skiers is less useful to bikers, but still provides cues about where you are on the mountain.</p>
<p>The Northwoods Express ski lift is just off the right of the trail at this point, as you can see here.</p>
<div id="attachment_614" class="wp-caption alignright" style="width: 160px"><a href="http://commavee.com/wp-content/uploads/2009/07/IMG_0682.JPG"><img class="size-thumbnail wp-image-614" title="Ski signage" src="http://commavee.com/wp-content/uploads/2009/07/IMG_0682-150x150.jpg" alt="Signage on the trail" width="150" height="150" /></a><p class="wp-caption-text">Signage on the trail</p></div>
<p>We all met up here &amp; had a water and snack break before continuing down the rest of the trail.</p>
<div id="attachment_618" class="wp-caption alignleft" style="width: 160px"><a href="http://commavee.com/wp-content/uploads/2009/07/fam-mnt-biking.jpg"><img class="size-thumbnail wp-image-618" title="fam-mnt-biking" src="http://commavee.com/wp-content/uploads/2009/07/fam-mnt-biking-150x150.jpg" alt="Jen and the boys" width="150" height="150" /></a><p class="wp-caption-text">Jen and the boys</p></div>
<p>This is also where the trail took a large, sweeping turn and then went more or less straight downhill for approximately 1/2 mile.</p>
<p>Keeping in mind that this is a beginner&#8217;s trail, the angle of descent wasn&#8217;t crazy, but it was definitely the steepest part of the trail.  This is where we picked up our greatest speed, mostly because the trail was hard-packed here and visibility was so good.</p>
<p>From here, we continued down and took a short single-track cut-off to connect to Windisch Way, which led us straight into the Village.  Quite by luck, we pulled into just behind Los Amigos (400 Bridge Street, Vail CO), a wonderful Mexican restaurant with excellent food &amp; service.  Just as we arrived, it began to rain.  We enjoyed our lunch while waiting out the storm, and then rode back to the condo.</p>
<p>If you get to Vail in the summer, you really have to check out the trails on Vail Mountain.  There&#8217;s something for everyone and I highly recommend it.</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<p><!--pp-thumb-start--><!--PictPress found no dir /usr/local/apache2/htdocs/wordpress/wp-content/uploads/2009/07/mountain-biking-in-vail--><!--pp-thumb-end--></p>
<img src="http://commavee.com/?ak_action=api_record_view&id=595&type=feed" alt="" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Commavee?a=RzusRUhZXR0:RRlniddTS78:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Commavee?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Commavee?a=RzusRUhZXR0:RRlniddTS78:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Commavee?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Commavee/~4/RzusRUhZXR0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://commavee.com/2009/07/28/mountain-biking-in-vail/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://commavee.com/2009/07/28/mountain-biking-in-vail/</feedburner:origLink></item>
		<item>
		<title>Video of Greenpeace climbers on Mt. Rushmore</title>
		<link>http://feedproxy.google.com/~r/Commavee/~3/AYfcsYb3AW4/</link>
		<comments>http://commavee.com/2009/07/09/video-of-greenpeace-climbers-on-mt-rushmore/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 19:46:26 +0000</pubDate>
		<dc:creator>John Minnihan</dc:creator>
				<category><![CDATA[General Technology]]></category>

		<guid isPermaLink="false">http://commavee.com/2009/07/09/video-of-greenpeace-climbers-on-mt-rushmore/</guid>
		<description><![CDATA[No matter your opinion of the political statement these activists were making, you have to respect someone who can literally get blown off the side of a mountain &#38; not lose sight of the objective of the climb.  Pretty amazing stuff.

Tags: greenpeace, mt rushmore, gloabl warming

]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcommavee.com%2F2009%2F07%2F09%2Fvideo-of-greenpeace-climbers-on-mt-rushmore%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcommavee.com%2F2009%2F07%2F09%2Fvideo-of-greenpeace-climbers-on-mt-rushmore%2F" height="61" width="51" /></a></div><p><span style="font-family: Arial; font-size: 11pt">No matter your opinion of the political statement these activists were making, you have to respect someone who can literally get blown off the side of a mountain &amp; not lose sight of the objective of the climb.  Pretty amazing stuff.</span></p>
<p><object height="340" width="560"><param name="movie" value="http://www.youtube.com/v/1A9_xj77rcQ&amp;hl=en&amp;fs=1&amp;" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed src="http://www.youtube.com/v/1A9_xj77rcQ&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" width="560" height="340" /></object></p>
<p><small>Tags: <a rel="tag" href="http://technorati.com/tag/greenpeace">greenpeace</a>, <a rel="tag" href="http://technorati.com/tag/mt+rushmore">mt rushmore</a>, <a rel="tag" href="http://technorati.com/tag/gloabl+warming">gloabl warming</a></small></p>
<p><!--pp-thumb-start--><!--PictPress found no dir /usr/local/apache2/htdocs/wordpress/wp-content/uploads/2009/07/video-of-greenpeace-climbers-on-mt-rushmore--><!--pp-thumb-end--></p>
<img src="http://commavee.com/?ak_action=api_record_view&id=579&type=feed" alt="" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Commavee?a=AYfcsYb3AW4:2t2Y4sIuEzo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Commavee?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Commavee?a=AYfcsYb3AW4:2t2Y4sIuEzo:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Commavee?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Commavee/~4/AYfcsYb3AW4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://commavee.com/2009/07/09/video-of-greenpeace-climbers-on-mt-rushmore/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://commavee.com/2009/07/09/video-of-greenpeace-climbers-on-mt-rushmore/</feedburner:origLink></item>
		<item>
		<title>Tech Tip: Multi-line Perl regex pattern match</title>
		<link>http://feedproxy.google.com/~r/Commavee/~3/WL2rvFoNsxE/</link>
		<comments>http://commavee.com/2009/06/18/tech-tip-multi-line-perl-regex-pattern-match/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 16:56:53 +0000</pubDate>
		<dc:creator>John Minnihan</dc:creator>
				<category><![CDATA[General Technology]]></category>
		<category><![CDATA[Source Control]]></category>
		<category><![CDATA[Tech Tips]]></category>

		<guid isPermaLink="false">http://commavee.com/2009/06/18/tech-tip-multi-line-perl-regex-pattern-match/</guid>
		<description><![CDATA[This post illustrates a complex pattern-matching technique in Perl.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcommavee.com%2F2009%2F06%2F18%2Ftech-tip-multi-line-perl-regex-pattern-match%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcommavee.com%2F2009%2F06%2F18%2Ftech-tip-multi-line-perl-regex-pattern-match%2F" height="61" width="51" /></a></div><p><span style="font-family:Arial">Yesterday, I encountered an analysis issue that appeared to be resolvable with a simple pattern replacement technique. <br />
<span id="more-565"></span><br />
This turned out to be a bit more complex than estimated, as the pattern spanned multiple lines and I struggled to get the regex constructed to match this use case.</span></p>
<p><span style="font-family:Arial">I finally figured it out, and although the overall problem remains unresolved (it has many layers), this particular part works well.  My error was in how I viewed use of  /s and /m as mutually exclusive; they aren&#8217;t of course, and I have made that mistake one other time over the years.   I also hadn&#8217;t set the input record separator ($/) to paragraph read mode.   I&#8217;m posting details here to document my specific usage.</span></p>
<p><span style="font-family:Arial">Assumptions:</span></p>
<ul>
<li><span style="font-family:Arial">A literal pattern exists that is present in multiple places in a file</span></li>
<li><span style="font-family:Arial">The literal pattern spans multiple lines in the file</span></li>
<li>
<span style="font-family:Arial">Literal pattern is</span></p>
<ul>
<li><span style="font-family:Courier">Node-path: branches/%%BRANCHES%%</span></li>
<li><span style="font-family:Courier">Node-kind: dir</span></li>
<li><span style="font-family:Courier">Node-action: add</span></li>
</ul>
</li>
<li><span style="font-family:Arial">Perl is being used to read the file and current line of file is <span style="font-family:Courier">$line</span></span></li>
<li><span style="font-family:Arial">Objective is to delete all occurrences of this pattern from the file one <span style="font-family:Courier">$line</span> at a time</span></li>
</ul>
<p><span style="font-family:Arial">Here&#8217;s how I did that:</span></p>
<p>[read the file &amp; crawl thru the lines]</p>
<p><span style="font-family: Courier; font-size: 10pt">$/ = &#8221;;</span></p>
<p><span style="font-family: Courier; font-size: 10pt">$line =~ s/^Node-path:\sbranches\/%%BRANCHES%%.*?^Node-kind:\sdir.*?^Node-action:\sadd.*?//sm;</span></p>
<p><span style="font-family:Arial"><small>Tags: <a rel="tag" href="http://technorati.com/tag/perl">perl</a>, <a rel="tag" href="http://technorati.com/tag/regex">regex</a>, <a rel="tag" href="http://technorati.com/tag/tech-tips">tech-tips</a></small></span></p>
<p><!--pp-thumb-start--><!--PictPress found no dir /usr/local/apache2/htdocs/wordpress/wp-content/uploads/2009/06/tech-tip-multi-line-perl-regex-pattern-match--><!--pp-thumb-end--></p>
<img src="http://commavee.com/?ak_action=api_record_view&id=565&type=feed" alt="" /><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Commavee?a=WL2rvFoNsxE:qjql9Uzf_KM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Commavee?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Commavee?a=WL2rvFoNsxE:qjql9Uzf_KM:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Commavee?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Commavee/~4/WL2rvFoNsxE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://commavee.com/2009/06/18/tech-tip-multi-line-perl-regex-pattern-match/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://commavee.com/2009/06/18/tech-tip-multi-line-perl-regex-pattern-match/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 0.477 seconds. --><!-- Cached page generated by WP-Super-Cache on 2010-03-12 20:01:08 -->
