[31114] in Perl-Users-Digest
Perl-Users Digest, Issue: 2359 Volume: 11
daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Wed Apr 22 06:09:48 2009
Date: Wed, 22 Apr 2009 03:09:09 -0700 (PDT)
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)
Perl-Users Digest Wed, 22 Apr 2009 Volume: 11 Number: 2359
Today's topics:
Re: F<utf8.pm> is evil (was: XML::LibXML UTF-8 toString <whynot@pozharski.name>
Re: How can I backreference a ?: group in perl regular derykus@gmail.com
Re: Is there a better way to convert foreign characters <nospam-abuse@ilyaz.org>
Re: Is there a better way to convert foreign characters <bugbear@trim_papermule.co.uk_trim>
Is there a module to transliterate Russian and Ukrainia <news123@free.fr>
Re: Is there a module to transliterate Russian and Ukra <RedGrittyBrick@spamweary.invalid>
new CPAN modules on Wed Apr 22 2009 (Randal Schwartz)
Re: Perl Opportunity <placebo@dontbesilly.com>
Re: Posting to perl.beginners via google groups <sisyphus359@gmail.com>
Re: Posting to perl.beginners via google groups <hjp-usenet2@hjp.at>
Re: Problem in parsing from a pipe <whynot@pozharski.name>
Re: Problem in parsing from a pipe <january.weiner@gmail.com>
Re: split-like thing <devnull4711@web.de>
Re: split-like thing <usenet@larseighner.com>
Re: split-like thing <news123@free.fr>
Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)
----------------------------------------------------------------------
Date: Wed, 22 Apr 2009 03:32:51 +0300
From: Eric Pozharski <whynot@pozharski.name>
Subject: Re: F<utf8.pm> is evil (was: XML::LibXML UTF-8 toString() -vs- nodeValue())
Message-Id: <slrnguspdp.ahl.whynot@orphan.zombinet>
On 2009-04-20, Peter J. Holzer <hjp-usenet2@hjp.at> wrote:
> On 2009-04-17 00:23, Eric Pozharski <whynot@pozharski.name> wrote:
>> On 2009-04-15, Peter J. Holzer <hjp-usenet2@hjp.at> wrote:
>>> On 2009-04-14 23:45, Eric Pozharski <whynot@pozharski.name> wrote:
*SKIP*
>> I'm puzzled. However, I should admit, that I've yet found those dark
>> corners of C<use encoding 'utf8';>.
>
> I found quite a few of them, but that was in the early times of 5.8.x,
> so some of them may have been bugs which have since been fixed and some
> of them may have been caused by my lack of understanding how the (at the
> time) new "utf8" strings were supposed to work. However, I think that
> Encoding.pm (the module itself and its documentation) added
> significantly to my confusion instead of lessening it. It took me some
> time to figure things out.
>
> But a couple of points which immediatly come to mind while scrolling
> through perldoc encoding:
>
> * encoding automatically pushes an :encoding() layer on STDIN and
> STDOUT, but not on STDERR. Why not?
That puzzles me too.
> * And why does it do that at all? The user of the script may use a
> completely different locale than the author, so mixing source code
> encoding with runtime I/O conversion just isn't a good idea.
> (and "use encoding ':locale'" is just a desaster waiting to happen,
> but at least the pod warns you)
Mostly "Why Not?" is bad idea.
> * All strings are converted, even if they contain \x escapes. So
> "\xF1\xD1\xF1\xCC" is a string with *two* characters if "encoding
> 'euc-jp'" is in effect. This makes it quite hard to write scripts
> which work in binary data.
That's really a challenge
perl -Mencoding=utf8 -MDevel::Peek -wle '
$x = "\x{AB}\x{DC}";
Dump $x'
SV = PV(0x96aa6d0) at 0x96c63e8
REFCNT = 1
FLAGS = (POK,pPOK,UTF8)
PV = 0x96c1a88 "\357\277\275\357\277\275"\0 [UTF8 "\x{fffd}\x{fffd}"]
CUR = 6
LEN = 8
Or not
perl -Mencoding=utf8 -MDevel::Peek -wle '
open my $y, "<", "../foo.bravo" or die $!;
$x = <$y>;
Dump $x' <~/foo.bravo
SV = PV(0x95396d0) at 0x95dc230
REFCNT = 1
FLAGS = (POK,pPOK)
PV = 0x9550378 "\306\331\327\301\n"\0
CUR = 5
LEN = 80
(just for reference)
{62509:74} [0:0]$ xxd ~/foo.bravo
0000000: c6d9 d7c1 0a .....
> * utf8::upgrade and utf8::downgrade aren't symmetric.
I've noted, but... F<encoding.pm> is wrong exactly how?
*SKIP*
>> I fail to see how utfizing both literals and symbols makes F<utf8.pm>
>> doing one thing. I don't say that it doesn't do it well.
>
> It doesn't utf8ize "both literals and symbols", it simply reads the
> complete source text in character mode (with :encoding(utf8)). A very
> simple operation, and everything else is a logical consequence from
> that. So "\x{D0}\x{BF}" is still a string of 2 bytes (because it
> reads "double-quote backslash open-brace capital D 0
> closed-brace backslash ..." and that parses to two bytes by the normal
> perl parsing rules, but "п" parses as one character because that reads
> "double-quote cyrillic-small-letter-pe double-quote". And a variable $п
> is allowed because п is a letter and Perl allows letters, digits and the
> underscore in variable names. No surprises there.
So F<utf8.pm> utfizes symbols by accident. At least that wasn't an
intention.
In that context I understand "symbol" this way (quoting F<perlstyle.pod>)
symbol
Generally, any "token" or "metasymbol". Often used more
specifically to mean the sort of name you might find in a
"symbol table".
*SKIP*
>> So you suggest that localizing Perl (or actually any other language) is
>> kind of online dictionary providers conspiracy?
>
> No, not at all. What I am saying is that people will use localized
> variable and subroutine names, and write comments in their native
> language, no matter if the programming language makes it easy or not.
> Sometimes this is because they don't speak English too well, sometimes
> it's because the problem domain is language-specific (for example, when
Then they must. I don't say "should". I'm unaware of any other
language that nicely fits in 7bit. Calling it "US-ASCII" is pure accident.
That seemingly contradicts my point of having an option. Yes, but there
must be something common for all. By an accident -- it's English.
> I was a teaching assistant at the university, we often wrote programs to
> help in some administrative task - students here are identified by a
> "Matrikelnummer". According to the dictionary, that's "enrollment
> number" in English, but it simply didn't make sense to use a variable
> $enrollment_number, because *nobody* who had to maintain that program
> would know what an "enrollment number" is, but everybody would know what
> $matrikelnummer means (you simply can't study or work at an Austrian
> university without knowing that)). Now, using German variable names is
> simple: We use only 7 non-ASCII letters, and there are standardized and
> well-known transliterations for all of them. So it isn't a great
> inconvenience if we need to write $uebung instead of $übung. But in
> Russian (or Greek, or Japanese, or Hindi, ...) the entire Alphabet is
> non-ASCII, and there are usually many transliteration systems. So if a
> Russian (or Greek, or Japanese, or Indian, ...) programmer wants to use
> some word from their native tongue, they need to choose one
> transliteration which is not natural to them and may be almost
> unreadable for the next programmer who has to maintain it.
So you have no real experience with alphabetical mix. My point isn't
language mix; I have no problem with this. A symbol is no more than a
letter sequence (+digits, +underscore). If someone is going to fight
some code (being it written by anyone), then this one must understand
the problem. Reading variable names is the least problem then.
> Since this is simply a fact of life, it is much better to allow
> non-English languages to be written in their native alphabet than to
> force transliteration into US-ASCII. At least then programs written in
> Russian are readable to people speaking Russian instead of being
> unreadable for everybody except the programmer.
And they aren't anyway.
>>>> I bet you've seen this before,
>>>
>>> I've seen German versions of BASIC in the 1980's. They weren't a huge
>>> success, to put it mildly. About the only successful localization of a
>>> programming language i can think of is MS-Excel (and I guess it's
>>> debatable if this is even a programming language (without VBA) - is it
>>> turing-complete?).
>>
>> That's in case you have an option. There're places you have no option.
>
> I don't understand your objection. I was relating the historic fact that
> localized programming languages (i.e., programming languages where the
> keywords (and to a lesser amount, the grammar) were localized, so that
> you would write "wenn ... dann ... sonst ..." instead of "if ... then
> ... else") were a failure. People had the option to use them, but they
> didn't want to.
Then read it again (maybe my English failed this time, again). Those
provided with germanized (is it right?) had an option. The option to
reject it. Sometimes there's no option. You just don't know what does
it mean having no option.
--
Torvalds' goal for Linux is very simple: World Domination
Stallman's goal for GNU is even simpler: Freedom
------------------------------
Date: Tue, 21 Apr 2009 16:47:24 -0700 (PDT)
From: derykus@gmail.com
Subject: Re: How can I backreference a ?: group in perl regular expression?
Message-Id: <f2c4667b-da0a-4dec-b33a-c7abb8c5fc09@c18g2000prh.googlegroups.com>
On Apr 20, 11:05=A0am, kun niu <haoniu...@gmail.com> wrote:
> ...
> Thank you for your attention to my question and your precious time.
> In my application, I'll have reformat the telephone number in my
> company.
> Since they came from all over the world, we have various telephone
> format.
> Here's some examples:
> 000-000-000
> (00)00-000-0000
> !00!00-000-0000
> 0000000
> 0000-0000
> 0000 0000 000
> you dont care
> What my job is to check the valid telephone number and to give them
> out.
> In case that I meet a ')' character, I'll have to check if there's a
> '(' in the front.
> '!' is also valid here.
> But all these characters should not be captured.
> So I'll have to backreference a previous group
> Expression like "((?:[!|]*)\d+\1\d+)" gives a bad result.
You could use lookahead to ensure a
matching paren or bang, eg,
/ ^ (?:
\( (?=3D\d+\)) # alternative #1
| # or
# etc..
)
/x
--
Charles DeRykus
------------------------------
Date: Wed, 22 Apr 2009 03:33:49 GMT
From: Ilya Zakharevich <nospam-abuse@ilyaz.org>
Subject: Re: Is there a better way to convert foreign characters?
Message-Id: <slrngut40t.4ih.nospam-abuse@chorin.math.berkeley.edu>
On 2009-04-21, Jürgen Exner <jurgenex@hotmail.com> wrote:
>>Will the name of Russian or Japanese people in a German phone book be in
>>Cyrrilic or Katakana?
> They will be as the _person_ wrote them in German characters.
LOL! You behave as if never visited German bureaucratic
establishments. E.g., in Soviet time Soviet foreign passports were
transliterated using a Russian-->French scheme of latinization.
Anybody who spent some time in Germany should immediately guess how
German-issued IDs looked like for people with such passports...
[But in US things happen in "your" way - at least if you have
intelligence to *ask*...]
>>There are transliterations to ASCII.
> Yes. And to do them properly you need much, much more than a tr///
> command!
True. But the number of tasks which computers can do "properly" is
minuscule anyway... Most of the time "good enough" is good enough.
E.g., in many situations `convert what you can, and replace the rest
by "_"' is good enough...
Yours,
Ilya
------------------------------
Date: Wed, 22 Apr 2009 09:41:11 +0100
From: bugbear <bugbear@trim_papermule.co.uk_trim>
Subject: Re: Is there a better way to convert foreign characters?
Message-Id: <xqudneIvLbq6RXPUnZ2dnUVZ8hti4p2d@posted.plusnet>
Jürgen Exner wrote:
> bugbear <bugbear@trim_papermule.co.uk_trim> wrote:
>> Jürgen Exner wrote:
>>> First of all how would you react, if someone is mangling your name?
>>> There is no "English version" of my first name.
>> But an English speaker might well search for "Jurgen Exner"
>> and hope to find you.
>
> And my name may come up as the closest hit with a 91% match.
>
>> Accent folding is a key component of "loose" matching.
>
> Having a second, closer look you are right. The OPs character set is
> indeed very restricted to just simple accented characters and doesn't
> include any of the more complex or additional characters found in the
> other Latin-X sets.
Of course, accent folding only helps searching in a limited context.
If you have (e.g.) Japanese, Thai, Arabic data,
you're stuffed.
Unicode only helps with representation of data; manipulation
is still down to the application.
BugBear
------------------------------
Date: Wed, 22 Apr 2009 10:03:16 +0200
From: News123 <news123@free.fr>
Subject: Is there a module to transliterate Russian and Ukrainian cyrillic unicode to phonetic ASCII?
Message-Id: <49eecf45$0$29090$426a34cc@news.free.fr>
Hi,
THe thread "Is there a better way to convert foreign characters?"
reminded me about a small problem, that I'd like to solve.
I'd like to translate some cyrillic file names into file names, that are
ASCII only.
Is there any perl module / command line tool / official transliteration
algorithm?
I know, that French, German and English do transliterate differently,
but do they differ systematically or is this more or less pseudo random?
How do native Russians/Ukrainians usually tackle this problem if they
life in a country, where PC's are not se up with a cyrillic code page?
thanks in advance for any suggestion?
IIRC I have alerady some self made transliteration table somewhere on a
disk of one of my old PCs, but it is probably not a really good one (and
I have to find it again)
bye
N
------------------------------
Date: Wed, 22 Apr 2009 10:55:24 +0100
From: RedGrittyBrick <RedGrittyBrick@spamweary.invalid>
Subject: Re: Is there a module to transliterate Russian and Ukrainian cyrillic unicode to phonetic ASCII?
Message-Id: <49eee98d$0$2480$db0fefd9@news.zen.co.uk>
News123 wrote:
> Hi,
>
>
> THe thread "Is there a better way to convert foreign characters?"
> reminded me about a small problem, that I'd like to solve.
>
> I'd like to translate some cyrillic file names into file names, that are
> ASCII only.
I wonder why? AFAIK the most commonly used operating systems nowadays
use Unicode for filenames. Of course this doesn't help if you don't have
fonts and input methods for the character ranges in question.
> Is there any perl module / command line tool / official transliteration
> algorithm?
Well known tools include recode and iconv.
http://www.gnu.org/software/recode/
http://www.gnu.org/software/libiconv/
In the thread you mentioned, Ted Zlatanov said
"Unicode::Transliterate does at least some of this. It uses the IBM ICU
project; the ICU documentation section on transforms may be particularly
useful. For example, see the "Any->Accents" transliteration:
http://userguide.icu-project.org/transforms/general"
--
RGB
------------------------------
Date: Wed, 22 Apr 2009 04:42:27 GMT
From: merlyn@stonehenge.com (Randal Schwartz)
Subject: new CPAN modules on Wed Apr 22 2009
Message-Id: <KIHJqr.zG6@zorch.sf-bay.org>
The following modules have recently been added to or updated in the
Comprehensive Perl Archive Network (CPAN). You can install them using the
instructions in the 'perlmodinstall' page included with your Perl
distribution.
Acme-CPANAuthors-0.08
http://search.cpan.org/~ishigaki/Acme-CPANAuthors-0.08/
We are CPAN authors
----
Acme-Pills-0.01
http://search.cpan.org/~sodasoda/Acme-Pills-0.01/
----
Algorithm-Cluster-1.45
http://search.cpan.org/~mdehoon/Algorithm-Cluster-1.45/
Perl interface to the C Clustering Library.
----
AnyEvent-CouchDB-1.10
http://search.cpan.org/~beppu/AnyEvent-CouchDB-1.10/
a non-blocking CouchDB client based on jquery.couch.js
----
App-Cronjob-1.002
http://search.cpan.org/~rjbs/App-Cronjob-1.002/
wrap up programs to be run as cron jobs
----
App-Cronjob-1.003
http://search.cpan.org/~rjbs/App-Cronjob-1.003/
wrap up programs to be run as cron jobs
----
App-GitHub-0.06
http://search.cpan.org/~fayland/App-GitHub-0.06/
GitHub Command Tools
----
App-GitHub-0.07
http://search.cpan.org/~fayland/App-GitHub-0.07/
GitHub Command Tools
----
App-GitHub-0.08
http://search.cpan.org/~fayland/App-GitHub-0.08/
GitHub Command Tools
----
App-GitHub-0.09
http://search.cpan.org/~fayland/App-GitHub-0.09/
GitHub Command Tools
----
Asterisk-config-syntax-highlight-0.4
http://search.cpan.org/~nsnake/Asterisk-config-syntax-highlight-0.4/
highlight Asterisk config syntax
----
Barcode-ZBar-0.02
http://search.cpan.org/~spadix/Barcode-ZBar-0.02/
Perl interface to the ZBar Barcode Reader
----
CGI-Capture-1.13
http://search.cpan.org/~adamk/CGI-Capture-1.13/
Meticulously thorough capture and replaying of CGI calls
----
CSS-Squish-0.08
http://search.cpan.org/~ruz/CSS-Squish-0.08/
Compact many CSS files into one big file
----
Capture-Tiny-0.05_51
http://search.cpan.org/~dagolden/Capture-Tiny-0.05_51/
Capture STDOUT and STDERR from Perl, XS or external programs
----
Catalyst-Plugin-Authorization-ACL-0.11
http://search.cpan.org/~rkitover/Catalyst-Plugin-Authorization-ACL-0.11/
ACL support for Catalyst applications.
----
Catalyst-Runtime-5.80002
http://search.cpan.org/~flora/Catalyst-Runtime-5.80002/
The Catalyst Framework Runtime
----
Catalyst-View-Graphics-Primitive-0.04
http://search.cpan.org/~gphat/Catalyst-View-Graphics-Primitive-0.04/
A Catalyst View for Graphics::Primitive
----
CatalystX-CRUD-0.41
http://search.cpan.org/~karman/CatalystX-CRUD-0.41/
CRUD framework for Catalyst applications
----
Chess-Play-0.02
http://search.cpan.org/~gippoliti/Chess-Play-0.02/
Play chess games, calculate legal moves, use a search algorithm
----
Chess-Play-0.03
http://search.cpan.org/~gippoliti/Chess-Play-0.03/
Play chess games, calculate legal moves, use a search algorithm
----
DBD-SQLite-1.24_01
http://search.cpan.org/~adamk/DBD-SQLite-1.24_01/
Self-contained RDBMS in a DBI Driver
----
DateTime-TimeZone-HPUX-0.01
http://search.cpan.org/~dolmen/DateTime-TimeZone-HPUX-0.01/
----
DateTime-TimeZone-HPUX-0.02
http://search.cpan.org/~dolmen/DateTime-TimeZone-HPUX-0.02/
----
DateTime-TimeZone-HPUX-0.03
http://search.cpan.org/~dolmen/DateTime-TimeZone-HPUX-0.03/
----
Devel-Fail-Make-1.016
http://search.cpan.org/~mthurn/Devel-Fail-Make-1.016/
a distro that always fails the `make` stage
----
Devel-Spy-0.06
http://search.cpan.org/~jjore/Devel-Spy-0.06/
Spy on your objects and data
----
Dist-Zilla-1.007
http://search.cpan.org/~rjbs/Dist-Zilla-1.007/
distribution builder; installer not included!
----
Dist-Zilla-Plugin-PodPurler-0.002
http://search.cpan.org/~rjbs/Dist-Zilla-Plugin-PodPurler-0.002/
like PodWeaver, but more erratic and amateurish
----
Dist-Zilla-Plugin-Repository-0.04
http://search.cpan.org/~fayland/Dist-Zilla-Plugin-Repository-0.04/
Automatically sets repository URL from svn/svk/Git checkout for Dist::Zilla
----
Elive-0.07
http://search.cpan.org/~warringd/Elive-0.07/
Elluminate Live (c) client library
----
Encode-IMAPUTF7-1.03
http://search.cpan.org/~pmakholm/Encode-IMAPUTF7-1.03/
modification of UTF-7 encoding for IMAP
----
File-PathInfo-Ext-1.27
http://search.cpan.org/~leocharre/File-PathInfo-Ext-1.27/
metadata files, renaming, some other things on top of PathInfo
----
GnuPG-Interface-0.40_04
http://search.cpan.org/~jesse/GnuPG-Interface-0.40_04/
Perl interface to GnuPG
----
Graphics-Primitive-Driver-Cairo-0.36
http://search.cpan.org/~gphat/Graphics-Primitive-Driver-Cairo-0.36/
Cairo backend for Graphics::Primitive
----
HTML-FormFu-ExtJS-0.070
http://search.cpan.org/~perler/HTML-FormFu-ExtJS-0.070/
Render and validate ExtJS forms using HTML::FormFu
----
HTML-Shakan-0.01_07
http://search.cpan.org/~tokuhirom/HTML-Shakan-0.01_07/
form html generator/validator
----
IO-Lambda-1.10
http://search.cpan.org/~karasik/IO-Lambda-1.10/
non-blocking I/O as lambda calculus
----
IPC-Exe-1.003
http://search.cpan.org/~glai/IPC-Exe-1.003/
Execute processes or Perl subroutines & string them via IPC. Think shell pipes.
----
IPC-Exe-1.004
http://search.cpan.org/~glai/IPC-Exe-1.004/
Execute processes or Perl subroutines & string them via IPC. Think shell pipes.
----
IPC-Exe-1.005
http://search.cpan.org/~glai/IPC-Exe-1.005/
Execute processes or Perl subroutines & string them via IPC. Think shell pipes.
----
Mail-Box-2.089
http://search.cpan.org/~markov/Mail-Box-2.089/
manage a mailbox, a folder with messages
----
Math-Random-ISAAC-XS-1.0.2
http://search.cpan.org/~frequency/Math-Random-ISAAC-XS-1.0.2/
C implementation of the ISAAC PRNG Algorithm
----
MooseX-Accessors-ReadWritePrivate-v1.1.0
http://search.cpan.org/~elliotjs/MooseX-Accessors-ReadWritePrivate-v1.1.0/
Name your accessors get_foo() and set_foo() or _set_foo().
----
MooseX-MultiMethods-0.02
http://search.cpan.org/~flora/MooseX-MultiMethods-0.02/
Multi Method Dispatch based on Moose type constraints
----
MooseX-Types-Structured-0.12
http://search.cpan.org/~jjnapiork/MooseX-Types-Structured-0.12/
Structured Type Constraints for Moose
----
Mouse-0.22
http://search.cpan.org/~sartak/Mouse-0.22/
Moose minus the antlers
----
Net-GitHub-0.10
http://search.cpan.org/~fayland/Net-GitHub-0.10/
Perl Interface for github.com
----
Net-GitHub-0.11
http://search.cpan.org/~fayland/Net-GitHub-0.11/
Perl Interface for github.com
----
Net-LastFM-0.34
http://search.cpan.org/~lbrocard/Net-LastFM-0.34/
A simple interface to the Last.fm API
----
OP-0.20_03
http://search.cpan.org/~aayars/OP-0.20_03/
Compact Perl 5 class prototyping with object persistence
----
ORLite-Profile-0.01
http://search.cpan.org/~adamk/ORLite-Profile-0.01/
Experimental Aspect-Oriented Profiler for ORLite
----
OSType-0.002
http://search.cpan.org/~dagolden/OSType-0.002/
Map operating system names to generic types or families
----
PDF-OCR2-1.13
http://search.cpan.org/~leocharre/PDF-OCR2-1.13/
extract all text and all image ocr from pdf
----
POE-1.005
http://search.cpan.org/~rcaputo/POE-1.005/
portable multitasking and networking framework for Perl
----
Pid-File-Flock-0.03
http://search.cpan.org/~lonerr/Pid-File-Flock-0.03/
PID file operations
----
RDF-RDFa-Parser-Redland-0.01
http://search.cpan.org/~tobyink/RDF-RDFa-Parser-Redland-0.01/
Parses RDFa into a RDF::Redland::Model.
----
RDF-RDFa-Parser-Redland-0.02
http://search.cpan.org/~tobyink/RDF-RDFa-Parser-Redland-0.02/
Parses RDFa into a RDF::Redland::Model.
----
SSH-Batch-0.002
http://search.cpan.org/~agent/SSH-Batch-0.002/
Cluster operations based on parallel SSH, set and interval arithmetic
----
SSH-Batch-0.003
http://search.cpan.org/~agent/SSH-Batch-0.003/
Cluster operations based on parallel SSH, set and interval arithmetic
----
Smolder-1.37
http://search.cpan.org/~wonko/Smolder-1.37/
Web-based Continuous Integration Smoke Server
----
Squatting-0.60
http://search.cpan.org/~beppu/Squatting-0.60/
A Camping-inspired Web Microframework for Perl
----
Task-CatInABox-0.03
http://search.cpan.org/~adamk/Task-CatInABox-0.03/
Catalyst and related modules for exploring Catalyst
----
Test-Able-0.06
http://search.cpan.org/~jdv/Test-Able-0.06/
xUnit with Moose
----
Test-Continuous-0.63
http://search.cpan.org/~gugod/Test-Continuous-0.63/
Run your tests suite continusouly when developing.
----
Test-Mock-Class-0.03
http://search.cpan.org/~dexter/Test-Mock-Class-0.03/
Simulating other classes
----
Text-Template-Simple-0.62_14
http://search.cpan.org/~burak/Text-Template-Simple-0.62_14/
Simple text template engine
----
Time-Elapsed-0.26
http://search.cpan.org/~burak/Time-Elapsed-0.26/
Displays the elapsed time as a human readable string.
----
URI-geo-0.01
http://search.cpan.org/~andya/URI-geo-0.01/
The geo URI scheme.
----
WWW-MobileCarrierJP-0.32
http://search.cpan.org/~tokuhirom/WWW-MobileCarrierJP-0.32/
scrape mobile carrier information
----
Win32-Env-Path-0.02
http://search.cpan.org/~adamk/Win32-Env-Path-0.02/
Manipulate environment PATH strings
----
Win32-File-Object-0.02
http://search.cpan.org/~adamk/Win32-File-Object-0.02/
Simplified object abstraction over Win32::File
----
XML-RSS-Parser-Lite-0.20
http://search.cpan.org/~squall/XML-RSS-Parser-Lite-0.20/
A simple pure perl RSS/Atom parser.
----
resched-0.7.7
http://search.cpan.org/~jonadab/resched-0.7.7/
If you're an author of one of these modules, please submit a detailed
announcement to comp.lang.perl.announce, and we'll pass it along.
This message was generated by a Perl program described in my Linux
Magazine column, which can be found on-line (along with more than
200 other freely available past column articles) at
http://www.stonehenge.com/merlyn/LinuxMag/col82.html
print "Just another Perl hacker," # the original
--
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.
See http://methodsandmessages.vox.com/ for Smalltalk and Seaside discussion
------------------------------
Date: Wed, 22 Apr 2009 10:05:47 GMT
From: "Peter Wyzl" <placebo@dontbesilly.com>
Subject: Re: Perl Opportunity
Message-Id: <%ZBHl.5394$y61.407@news-server.bigpond.net.au>
"lala" <yolandaref@gmail.com> wrote in message
news:15a920fd-312e-4487-aec6-ebb863919027@r34g2000vbi.googlegroups.com...
> Any very strong Perl Developers looking for contracting please contact
> yolanda@refcomputer.com
Where's sln when you need 'm?
P
------------------------------
Date: Tue, 21 Apr 2009 17:48:31 -0700 (PDT)
From: sisyphus <sisyphus359@gmail.com>
Subject: Re: Posting to perl.beginners via google groups
Message-Id: <578fc1d7-61a3-402c-9e6e-7e3c7d680bef@j18g2000prm.googlegroups.com>
On Apr 22, 12:18=A0am, RedGrittyBrick <RedGrittyBr...@spamweary.invalid>
wrote:
> RedGrittyBrick wrote:
>
> > I recommend you readhttp://improve-usenet.org/
Yes, I have this vague idea that the moderator might simply be
refusing to allow anything through that originates from google groups.
(That would be quite ironic if perl.beginners is a *google* group.)
>
> Which is still relevant becausehttp://learn.perl.org/says
>
> "You can now read the beginners lists ... with your newsreader ... from
> the news server nntp.perl.org. You can also browse it on the web"
That statement is quite correct - it doesn't make any claims that one
can actually *post*.
I think I'll subscribe (as John suggested), using my gmail account. I
hardly ever check that inbox - nor do I care what gets sent to it. But
"subscription" should allow me to post (from that account) to the
beginners group on the rare occasions that I have something to offer.
I'll also keep an eye out for Sinan's post - which I don't see as yet.
It would be nice to know the grounds upon which the moderator rejects
my posts.
Thanks guys.
Cheers,
Rob
------------------------------
Date: Wed, 22 Apr 2009 09:31:20 +0200
From: "Peter J. Holzer" <hjp-usenet2@hjp.at>
Subject: Re: Posting to perl.beginners via google groups
Message-Id: <slrnguthu9.ith.hjp-usenet2@hrunkner.hjp.at>
On 2009-04-22 00:48, sisyphus <sisyphus359@gmail.com> wrote:
> On Apr 22, 12:18 am, RedGrittyBrick <RedGrittyBr...@spamweary.invalid>
> wrote:
>> RedGrittyBrick wrote:
>>
>> > I recommend you readhttp://improve-usenet.org/
>
> Yes, I have this vague idea that the moderator might simply be
> refusing to allow anything through that originates from google groups.
> (That would be quite ironic if perl.beginners is a *google* group.)
The moderator might not even get messages posted through google groups.
For a moderated group, the newsserver where you post (Google Groups in
this case) needs to be set up to send all postings by email to the
moderator's address. The address is of course different for each
moderated group, although many hierarchies have a common pattern. If
Google Groups wasn't careful, they may send the submissions to
perl-beginners@moderators.isc.org or something like that ...
hp
------------------------------
Date: Wed, 22 Apr 2009 02:28:10 +0300
From: Eric Pozharski <whynot@pozharski.name>
Subject: Re: Problem in parsing from a pipe
Message-Id: <slrnguslkg.ahl.whynot@orphan.zombinet>
On 2009-04-21, January Weiner <january.weiner@gmail.com> wrote:
> I have a small problem, which I can actually solve quite easily, but I am
> looking for a more elegant solution.
>
> I am reading from a pipe
> open( my $if, "$cmd|" ) or die "Cannot run $cmd: $!\n" ;
Think 3-args B<open>, it's safer.
> The output from this command is a series of records. Each record starts
> with a recognizable line (e.g. I could catch it with /^Name=(\S+)/), but
> does not have a "record end" marker. That is, I can only tell that a record
> ended when a new record starts or when EOF is reached.
F<perlsyn>, "Loop Control", 3rd paragraph -- B<redo>. The section has
clear example of usage.
> Now, I want to process the records one by one in one subroutine, calling
> another one ("parse_record") to read exactly one record and return it:
If you could weaken that requirement
use File::Slurp;
and then C<m{^Name=(.+?)(?=^Name=)}smg>.
p.s. And, obviously, what Ben suggested.
*CUT*
--
Torvalds' goal for Linux is very simple: World Domination
Stallman's goal for GNU is even simpler: Freedom
------------------------------
Date: Wed, 22 Apr 2009 04:41:16 +0200 (CEST)
From: January Weiner <january.weiner@gmail.com>
Subject: Re: Problem in parsing from a pipe
Message-Id: <gsm04c$98s$1@sagnix.uni-muenster.de>
On 2009-04-21, Eric Pozharski <whynot@pozharski.name> wrote:
> Think 3-args B<open>, it's safer.
Why?
>> with a recognizable line (e.g. I could catch it with /^Name=(\S+)/), but
>> does not have a "record end" marker. That is, I can only tell that a record
>> ended when a new record starts or when EOF is reached.
>
> F<perlsyn>, "Loop Control", 3rd paragraph -- B<redo>. The section has
> clear example of usage.
Yes, that is very interesting, thanks.
>> Now, I want to process the records one by one in one subroutine, calling
>> another one ("parse_record") to read exactly one record and return it:
>
> If you could weaken that requirement
>
> use File::Slurp;
No. Firstly, files are quite large. Secondly, I want to monitor the
progress of the parser.
Thanks.
j.
------------------------------
Date: Wed, 22 Apr 2009 00:13:26 +0200
From: Frank Seitz <devnull4711@web.de>
Subject: Re: split-like thing
Message-Id: <756uo2F16k4lfU3@mid.individual.net>
sln@netherlands.com wrote:
> On Tue, 21 Apr 2009 23:51:47 +0200, Frank Seitz <devnull4711@web.de> wrote:
>> john wrote:
>>> If I have a string "abcdefgh", what's the best way to get an array with
>>> the characters in pairs? ("ab", "cd", "ef", "gh")
>> @arr = $str =~ /(..)/g;
> ^ ^
> Don't need to capture the whole pattern, that is the default in list context,
> otherwise subpatterns as such will get it: @arr = $str =~ /.(.)/g;
Thank you for the improvement.
> This also works as well:
> @arr = $str =~ /.{2}/g;
TMTOWTDI
Frank
--
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel
------------------------------
Date: Tue, 21 Apr 2009 22:14:10 +0000 (UTC)
From: Lars Eighner <usenet@larseighner.com>
Subject: Re: split-like thing
Message-Id: <slrngush5g.2ba9.usenet@debranded.larseighner.com>
In our last episode, <slrngusenq.cjb.nospam@nospam.invalid>, the lovely and
talented john broadcast on comp.lang.perl.misc:
> Hi,
> If I have a string "abcdefgh", what's the best way to get an array with
> the characters in pairs? ("ab", "cd", "ef", "gh")
sed
--
Lars Eighner <http://larseighner.com/> usenet@larseighner.com
91 days since Rick Warren prayed over Bush's third term.
Obama: No hope, no change, more of the same. Yes, he can, but no, he won't.
------------------------------
Date: Wed, 22 Apr 2009 09:48:58 +0200
From: News123 <news123@free.fr>
Subject: Re: split-like thing
Message-Id: <49eecbea$0$6379$426a74cc@news.free.fr>
Lars Eighner wrote:
> In our last episode, <slrngusenq.cjb.nospam@nospam.invalid>, the lovely and
> talented john broadcast on comp.lang.perl.misc:
>
>> Hi,
>
>> If I have a string "abcdefgh", what's the best way to get an array with
>> the characters in pairs? ("ab", "cd", "ef", "gh")
>
> sed
>
>
Neither
echo "abcdefgh" | sed
nor
echo "abcdefgh" | perl -e 'sed'
returns the expected result. ;-)
Just for fun" Could you show me how to do it with sed?
------------------------------
Date: 6 Apr 2001 21:33:47 GMT (Last modified)
From: Perl-Users-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin)
Subject: Digest Administrivia (Last modified: 6 Apr 01)
Message-Id: <null>
Administrivia:
#The Perl-Users Digest is a retransmission of the USENET newsgroup
#comp.lang.perl.misc. For subscription or unsubscription requests, send
#the single line:
#
# subscribe perl-users
#or:
# unsubscribe perl-users
#
#to almanac@ruby.oce.orst.edu.
NOTE: due to the current flood of worm email banging on ruby, the smtp
server on ruby has been shut off until further notice.
To submit articles to comp.lang.perl.announce, send your article to
clpa@perl.com.
#To request back copies (available for a week or so), send your request
#to almanac@ruby.oce.orst.edu with the command "send perl-users x.y",
#where x is the volume number and y is the issue number.
#For other requests pertaining to the digest, send mail to
#perl-users-request@ruby.oce.orst.edu. Do not waste your time or mine
#sending perl questions to the -request address, I don't have time to
#answer them even if I did know the answer.
------------------------------
End of Perl-Users Digest V11 Issue 2359
***************************************