Is Perl *that* good? (was: How's ruby compare to it older brother python)

Cameron Laird claird at lairds.com
Mon Apr 26 13:36:56 EDT 2004


In article <knbjc.267$id.3998 at news2.e.nsc.no>,
Leif B. Kristensen <junkmail at solumslekt.org> wrote:
			.
			.
			.
>The routine is for a phonetic search in Norwegian 18th century names,
>which can be spelled in an amazing number of different ways. As I found
>that the Soundex algorithm was useless for Norwegian spellings, I
>invented my own. It's not really an algorithm, but a series of
>substitutions that reduces names to a kind of primitives. Thus, eg.
>Berthe, Birthe, Bergitte, Bergit, Birgit, Børte, Berit, and Brit, which
>actually are interchangeable spellings of the same name, are reduced to
>BRT.
>
>Here's a small sample:
>
>$str =~ s/HN/N/g;        # John --> JON
>$str =~ s/TH/T/g;        # Thor --> TOR
>$str =~ s/CHI/KJ/g;      # Torchild --> TORKJL
>$str =~ s/CHE/KJ/g;      # Michel --> MKJL
>$str =~ s/KKE/KJ/g;      # Mikkel --> MKJL
>$str =~ s/KIEL/KJL/g;    # Kield -> Kjeld ( --> KJL)
>$str =~ s/CH/K/g;        # Christen -> Kristen ( --> KRSTN)
>$str =~ s/CA/KA/g;       # Carl -> Karl ( --> KAL)
>$str =~ s/RL/L/g;        # Thorleif <=> Tollef <=> Tolf ( --> TOLF)
>
>I use a Perl script to transform my genealogy data from a FoxPro
>database to MySQL command scripts. Thanks to the excellent module
>DBD::XBase by Jan Pazdziora, this is a quite simple task.
>
>In theory, the web routine for phonetic searches might have been
>implemented in PHP. The trouble with that is that I would have to
>maintain both a PHP and a Perl version of the same routine. I find it
>much easier to just copy and paste the whole mess (at present about 120
>lines) between the encoding and the decoding routines in Perl, and run
>an exec("perl norphon.pl $name") from PHP.
			.
			.
			.
Long ago, I was myself involved in a tiny way with
parish records for Finnmark and Troms.  I wish I'd
been able to do more ...

I'm glad things are working for you.  I'm all for
not-duplicating effort.  Do you realize you can use
PHP from the command line?  As I understand your
explanation, it doesn't reflect AT ALL on a defici-
ency in PHP string-handling; to my eye, PHP can do
the operation just about as well as Perl.

Incidentally, Tcl has a one-liner for this, along
the lines of
  set str [string map {HN N TH T CHI KJ CHE KJ ...} $str]
I believe Perl does, too, but haven't enough interest
to track it down now.  I'm also confident we can find
a language which makes the particular operation even 
more transparent.

I continue to conclude that all these languages are
roughtly equally competent at managing strings.
-- 

Cameron Laird <claird at phaseit.net>
Business:  http://www.Phaseit.net



More information about the Python-list mailing list