<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Uri</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/uri/" />
    <link rel="self" type="application/atom+xml" href="http://blogs.perl.org/users/uri/atom.xml" />
    <id>tag:blogs.perl.org,2009-11-03:/users/uri//805</id>
    <updated>2013-05-07T18:23:22Z</updated>
    <subtitle>A blog about the Perl programming language</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 4.38</generator>

<entry>
    <title>Perl Hunter Job Leads</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/uri/2013/05/perl-hunter-job-leads.html" />
    <id>tag:blogs.perl.org,2013:/users/uri//805.4654</id>

    <published>2013-05-07T18:14:57Z</published>
    <updated>2013-05-07T18:23:22Z</updated>

    <summary>The Perl Hunter has several new job leads. Check them out on the Perl jobs web site. If you are interested, send your resume in PDF and code samples (URL is fine) to PDF at PerlHunter.com http://jobs.perl.org/job/17351 http://jobs.perl.org/job/17355 http://jobs.perl.org/job/17353...</summary>
    <author>
        <name>Uri</name>
        <uri>http://perlhunter.com</uri>
    </author>
    
    <category term="jobsperlhunter" label="jobs perlhunter" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/uri/">
        <![CDATA[<p>The Perl Hunter has several new job leads. Check them out on the Perl<br />
jobs web site. If you are interested, send your resume in PDF and code<br />
samples (URL is fine) to PDF at PerlHunter.com</p>

<p><a href="http://jobs.perl.org/job/17351">http://jobs.perl.org/job/17351</a><br />
<a href="http://jobs.perl.org/job/17355">http://jobs.perl.org/job/17355</a><br />
<a href="http://jobs.perl.org/job/17353">http://jobs.perl.org/job/17353</a></p>

<p><br />
</p>]]>
        
    </content>
</entry>

<entry>
    <title>RIP Sherm Pendley</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/uri/2011/07/rip-sherm-pendley.html" />
    <id>tag:blogs.perl.org,2011:/users/uri//805.1967</id>

    <published>2011-07-13T08:29:19Z</published>
    <updated>2011-07-13T08:36:58Z</updated>

    <summary>Sherm Pendley passed away this last weekend. He was a regular on usenet and also the author of CamelBones, a Perl/Objective-C bridge. I got to know him well over the several months as I placed him at his current job....</summary>
    <author>
        <name>Uri</name>
        <uri>http://perlhunter.com</uri>
    </author>
    
    <category term="shermpendleydied" label="Sherm Pendley died" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/uri/">
        <![CDATA[<p>Sherm Pendley passed away this last weekend. He was a regular on usenet<br />
and also the author of CamelBones, a Perl/Objective-C bridge.  I got to<br />
know him well over the several months as I placed him at his current<br />
job. He was very well respected and liked at that company and all his<br />
colleagues and I are all very shocked and saddened at this news. I<br />
haven't heard an official cause of death but he was ill last week and<br />
something must have gotten very bad. He will be missed.</p>

<p>Uri</p>]]>
        
    </content>
</entry>

<entry>
    <title>edit_file and edit_file_lines</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/uri/2011/05/edit-file-and-edit-file-lines.html" />
    <id>tag:blogs.perl.org,2011:/users/uri//805.1759</id>

    <published>2011-05-13T06:23:31Z</published>
    <updated>2011-05-13T17:26:26Z</updated>

    <summary> Have you ever wanted to use perl -pi inside perl? Did you have the guts to localize $^I and @ARGV to do that? Now you can do that with a simple call to edit_file or edit_file_lines in the new...</summary>
    <author>
        <name>Uri</name>
        <uri>http://perlhunter.com</uri>
    </author>
    
    <category term="edit_file" label="edit_file" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="edit_file_lines" label="edit_file_lines" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="fileslurp" label="File::Slurp" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="modifyfile" label="modify file" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perlpi" label="perl -pi" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/uri/">
        <![CDATA[<p><br />
Have you ever wanted to use perl -pi inside perl? Did you have the guts<br />
to localize $^I and @ARGV to do that? Now you can do that with a simple<br />
call to edit_file or edit_file_lines in the new .018 release of<br />
File::Slurp. Now you can modify a file in place with a simple call.</p>

<p>edit_file reads a whole file into $_, calls its code block argument and<br />
writes $_ back out the file. These groups are equivalent operations:</p>

<p>	perl -0777 -pi -e 's/foo/bar/g' filename</p>

<p>	use File::Slurp qw( edit_file ) ;</p>

<p>	edit_file { s/foo/bar/g } 'filename' ;</p>

<p>	edit_file sub { s/foo/bar/g }, 'filename' ;</p>

<p>	edit_file \&replace_foo, 'filename' ;<br />
	sub replace_foo { s/foo/bar/g }</p>

<p>edit_file_lines reads a whole file and puts each line into $_, calls its<br />
code block argument and writes each $_ back out the file. These groups are<br />
equivalent operations:</p>

<p>	perl -pi -e '$_ = "" if /foo/' filename</p>

<p>	use File::Slurp qw( edit_file_lines ) ;</p>

<p>	edit_file_lines { $_ = '' if /foo/ } 'filename' ;</p>

<p>	edit_file_lines sub { $_ = '' if /foo/ }, 'filename' ;</p>

<p>	edit_file \&delete_foo, 'filename' ;<br />
	sub delete_foo { $_ = '' if /foo/ }</p>

<p>So now when someone asks for a simple way to modify a file from inside<br />
Perl, you have an easy answer to give them.<br />
</p>]]>
        
    </content>
</entry>

<entry>
    <title> Perl Hunter Job Leads</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/uri/2011/05/perl-hunter-job-leads-1.html" />
    <id>tag:blogs.perl.org,2011:/users/uri//805.1725</id>

    <published>2011-05-03T07:09:53Z</published>
    <updated>2011-05-03T22:04:36Z</updated>

    <summary>I figure I might as well get blogging on Perl Hunting as well. I have set of Perl job leads open now. This is a telecommute job from these 8 states or onsite in Silver Springs MD: CA FL GA...</summary>
    <author>
        <name>Uri</name>
        <uri>http://perlhunter.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/uri/">
        <![CDATA[<p>I figure I might as well get blogging on Perl Hunting as well.</p>

<p>I have set of Perl job leads open now. This is a telecommute job from these<br />
8 states or onsite in Silver Springs MD:</p>

<p>CA FL GA IL MD MI NC NY</p>

<p><a href="http://jobs.perl.org/job/13972">Read more about this job</a> </p>

<p>To apply for either job send your resume in PDF or plain text AND<br />
samples of your Perl code to resumes AT PerlHunter.com.</p>

<p>If your shop has a Perl job you want filled, send it to me as well. I<br />
have placed over 30 Perl developers all over the country and can help<br />
you out. You save time and money by doing reading fewer resumes, and no<br />
wasting hours of time interviewing candidates who have no chance of<br />
being hired. Read more about my services at <a href="http://PerlHunter.com">PerlHunter.com</a>.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Template::Simple .04 is on CPAN</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/uri/2011/05/templatesimple-04-is-on-cpan.html" />
    <id>tag:blogs.perl.org,2011:/users/uri//805.1723</id>

    <published>2011-05-03T06:53:39Z</published>
    <updated>2011-05-03T07:09:00Z</updated>

    <summary>I have released Template::Simple .04 to CPAN. This is a major update with the addition of compiled templates, a runnable cookbook script and a benchmark script. Templates can be compiled and run much faster. The benchmark shows nested templates rendering...</summary>
    <author>
        <name>Uri</name>
        <uri>http://perlhunter.com</uri>
    </author>
    
    <category term="compiled" label="compiled" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="cookbook" label="cookbook" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="fast" label="fast" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="templatesimple" label="Template::Simple" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="templating" label="templating" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/uri/">
        <![CDATA[<p>I have released <a href="http://search.cpan.org/~uri/Template-Simple-0.04/">Template::Simple</a> .04 to CPAN. This is a major update<br />
with the addition of compiled templates, a runnable cookbook script and<br />
a benchmark script. Templates can be compiled and run much faster. The<br />
benchmark shows nested templates rendering up to 34 times faster than<br />
Template::Toolkit and faster than Template::Teeny. If you want to flame<br />
about the speed issue, you are better off adding entries to the benchmark (it needs a<br />
redesign as it was sent to me) and showing faster templating<br />
examples. The <a href="http://search.cpan.org/~uri/Template-Simple-0.04/extras/cookbook.pl">cookbook</a> is a runnable script showing many examples of how<br />
to use T::S along with pod describing each example.</p>

<p>The design philosophy of T::S is total isolation of data logic from the<br />
template itself. A template designer can work independently from a coder<br />
who works on the data. Also this give more flexibility you can mix and<br />
match different templates with different data trees without rewriting<br />
either. All the common idioms are supported including nested data and<br />
templates, include files, loops, conditionals, etc. You can also customize behavior with code callbacks in the data. The <a href="http://search.cpan.org/~uri/Template-Simple-0.04/extras/cookbook.pl">cookbook</a> script<br />
in extras/ will get you started with all of the idioms. And with the<br />
compiled templates you now get the fastest rendering.</p>

<p>Have the appropriate amount of fun.</p>]]>
        
    </content>
</entry>

<entry>
    <title>File::Slurp 9999.16 is on CPAN</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/uri/2011/04/fileslurp-999916-is-on-cpan.html" />
    <id>tag:blogs.perl.org,2011:/users/uri//805.1691</id>

    <published>2011-04-25T01:30:00Z</published>
    <updated>2011-04-25T06:17:38Z</updated>

    <summary>After too long a wait, I have updated File::Slurp with a long list of requested features and bug fixes. See the Changes file for the changes in the recent burst of 3 releases. Major changes include adding prepend_file() (this inserts...</summary>
    <author>
        <name>Uri</name>
        <uri>http://perlhunter.com</uri>
    </author>
    
    <category term="fileslurp" label="File::Slurp" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="modules" label="modules" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="slurp" label="slurp" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/uri/">
        <![CDATA[<p>After too long a wait, I have updated File::Slurp with a long list of requested features and bug fixes. See the <a href="http://cpansearch.perl.org/src/URI/File-Slurp-9999.16/Changes">Changes file</a> for the changes in the recent burst of 3 releases. Major changes include adding prepend_file() (this inserts data at the beginning of a file), the binmode option supports all the values of the binmode function, a <a href="http://cpansearch.perl.org/src/URI/File-Slurp-9999.16/extras/slurp_bench.pl">rewritten and improved benchmark script</a> and more <a href="http://search.cpan.org/~uri/File-Slurp-9999.16/lib/File/Slurp.pm#SYNOPSIS">synopsis examples</a>.</p>

<p>In the near future, expect to see the subs edit_file() and edit_file_lines(). These support modifying a file in-place from inside your Perl program (similar to -pi on the command line).<br />
</p>]]>
        
    </content>
</entry>

</feed>
