[30562] in Perl-Users-Digest

home help back first fref pref prev next nref lref last post

Perl-Users Digest, Issue: 1805 Volume: 11

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Wed Aug 20 03:09:47 2008

Date: Wed, 20 Aug 2008 00:09:08 -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, 20 Aug 2008     Volume: 11 Number: 1805

Today's topics:
        Calling writev and readv from perl <Alexander.Farber@gmail.com>
    Re: Calling writev and readv from perl <ben@morrow.me.uk>
    Re: Calling writev and readv from perl <fawaka@gmail.com>
    Re: CLPM - a help group? <sbour@niaid.nih.gov>
    Re: CLPM - a help group? <john@castleamber.com>
    Re: CLPM - a help group? <sbour@niaid.nih.temp.gov>
    Re: En/Decrypt Mismatch: Command-Line Tool vs. Crypt::O <jerry@ieee.org>
    Re: FAQ 4.48 How do I shuffle an array randomly? <tadmc@seesig.invalid>
    Re: FAQ 4.48 How do I shuffle an array randomly? <szrRE@szromanMO.comVE>
    Re: Help: Debug perl codes <nospam@somewhere.com>
    Re: Help: Debug perl codes <openlinuxsource@gmail.com>
    Re: List Context in a Boolean Expression <mjcarman@mchsi.com>
        new CPAN modules on Wed Aug 20 2008 (Randal Schwartz)
    Re: Programming Languages Decisions sln@netherlands.com
    Re: recursive filehandle <joost@zeekat.nl>
    Re: recursive filehandle <whynot@pozharski.name>
        Repeating the array <sajapuram.arun.prakash@gmail.com>
        Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)

----------------------------------------------------------------------

Date: Tue, 19 Aug 2008 12:28:56 -0700 (PDT)
From: "A. Farber" <Alexander.Farber@gmail.com>
Subject: Calling writev and readv from perl
Message-Id: <7bfd3254-8520-42ae-93df-8d43169af54f@m36g2000hse.googlegroups.com>

Hello,

is there a way to call writev(2) from Perl?

I'm porting a C-program to Perl and
have a spot there, where a linked list
of data is being writev()ed to a socket.

In the Perl-script that would be an array,
which I'd need to writev() to the socket.

There are very few hits, when I search
for "perl" and "writev" in Google...

Thank you
Alex


------------------------------

Date: Tue, 19 Aug 2008 21:11:52 +0100
From: Ben Morrow <ben@morrow.me.uk>
Subject: Re: Calling writev and readv from perl
Message-Id: <81mrn5-ui81.ln1@osiris.mauzo.dyndns.org>


Quoth "A. Farber" <Alexander.Farber@gmail.com>:
> Hello,
> 
> is there a way to call writev(2) from Perl?

Not AFAIK. While it would be perfectly possible to write an extension
that provided it, you would need to be really sure it was worth it. IO
in Perl is usually buffered, and joining several strings together before
writing them with print or syswrite is a more usual way of emulating
writev(2). Perl has a habit of trading memory for speed and simplicity;
if this is inappropriate for your application, consider whether Perl is
the right choice of language.

Ben

-- 
   Although few may originate a policy, we are all able to judge it.
                                               Pericles of Athens, c.430 B.C.
  ben@morrow.me.uk


------------------------------

Date: 19 Aug 2008 21:22:45 GMT
From: Leon Timmermans <fawaka@gmail.com>
Subject: Re: Calling writev and readv from perl
Message-Id: <48ab39a5$0$198$e4fe514c@news.xs4all.nl>

On Tue, 19 Aug 2008 12:28:56 -0700, A. Farber wrote:

> Hello,
> 
> is there a way to call writev(2) from Perl?
> 
> I'm porting a C-program to Perl and
> have a spot there, where a linked list of data is being writev()ed to a
> socket.
> 
> In the Perl-script that would be an array, which I'd need to writev() to
> the socket.
> 
> There are very few hits, when I search for "perl" and "writev" in
> Google...
> 
> Thank you
> Alex

Porting a C program to perl that verbatim is probably a bad idea. The 
easiest solution would be to just write the elements individually.

If you really want to do it the writev way, it is definitely possible. I 
think this code should do it, but I haven't really tested it yet.

use Symbol qw/qualify_to_ref/;
BEGIN { require 'syscall.ph' };

sub writev(*@) {
    my $fh = qualify_to_ref(shift, caller);
    my $vector = join '', map { pack 'PI', $_, length } @_;
    return syscall SYS_writev, fileno $fh, $vector, scalar @_;
}

sub readv(*@) {
    my $fh = qualify_to_ref(shift, caller);
    my $vector = join '', map { pack 'PI', $_, length } @_;
    return syscall SYS_readv, fileno $fh, $vector, scalar @_;
}

They both take a filehandle as first argument.

Regards,

Leon Timmermans


------------------------------

Date: Tue, 19 Aug 2008 17:42:16 -0700
From: "Stephan Bour" <sbour@niaid.nih.gov>
Subject: Re: CLPM - a help group?
Message-Id: <JLJqk.19740$89.15904@nlpi069.nbdc.sbc.com>

Sherm Pendley wrote:
:: Adam Worrall <worrall-unet@cs.bris.ca.uk> writes:
::
::: John Bokma wrote:
::::
:::: And you could come and go when ever you wanted, stay away without
:::: calling in sick. Do nothing the whole day, being rude at everybody
:::: without a single problem?
:::
::: That's a rather loaded assumption on your part. Why are you assuming
::: we would come in to be rude?
::
:: Why are you assuming that the word "rude" is the only part of John's
:: message that's relevant?

I can't believe you are asking this. Why are you defending John Bokma when 
he clearly made an utterly blind assumption.


:: You keep pointing out that you were not required or expected to be
:: there, and that's true - as far as it goes. But, once you *were*
:: there, you were expected to provide help.

Why are you trying to reinvent someone else's (Adam Worrall's in this case) 
experiences, after he already stated that they were not required to give 
help. You can't say if anyone on that desk was expected to do anything, as 
you were not there, so please do not pretend to be informed about something 
you don't know to be true. It make is look like you have some sort of 
ulterior agenda.


:: You were not free to simply chat.

You don't know that. They have been able to chat, who knows. I don't, and 
neither do you.


:: That's what makes a help desk different than this group

But not necessarily that help desk - you weren't there so you can't reliably 
say it was different. Adam Worrall clearly said it functioned in much the 
same as this group, so why invent all these other possibilities and ignore 
that?


:: we *are* free to simply chat about random Perl topics, ignoring
:: questions if we don't feel like being helpful today.

Again, Worrall already claimed that the desk functioned similarly, please 
stop blatantly ignoring what someone else said.


::: I mean, I didn't say it was 100% like
::: CLPM, but that CLPM in general functions in a similar way.
::
:: No, in fact it doesn't.

You    Don't    Know     That  (tm)


:: A help desk is where someone can go with the expectation of having
:: their questions answered directly and without digression.
:: This is nothing more nor less than a group of people who
:: happen to be talking about Perl. A lot of people do receive help
:: here, but no one is entitled to it.

Again, you ignored what he has said regarding the desk he was on. You seem 
clearly intent on inventing your own version of what he said and completely 
ignoring everything else, and then basing all of your points on that 
alternate reality.



Stephan.





------------------------------

Date: 20 Aug 2008 03:01:45 GMT
From: John Bokma <john@castleamber.com>
Subject: Re: CLPM - a help group?
Message-Id: <Xns9AFFE01747A0Fcastleamber@130.133.1.4>

"Stephan Bour" <sbour@niaid.nih.gov> wrote:

[nothing]

Ah, another well-known shit stain of this group, I see.

*ploink*

-- 
John    http://johnbokma.com/ - Hacking & Hiking in Mexico

Perl help in exchange for a gift:
http://johnbokma.com/perl/help-in-exchange-for-a-gift.html


------------------------------

Date: Tue, 19 Aug 2008 21:32:20 -0700
From: "Stephan Bour" <sbour@niaid.nih.temp.gov>
Subject: Re: CLPM - a help group?
Message-Id: <p7Nqk.18375$xZ.17920@nlpi070.nbdc.sbc.com>

John Bokma wrote:
:: "Stephan Bour" <sbour@niaid.nih.gov> wrote:
::
:: [nothing]

Or rather what you don't want to hear.

:: Ah, another well-known shit stain of this group, I see.

It's nice to see that you obviously endorse the inventing alternate 
realities to make points about people...


Stephan. 




------------------------------

Date: Tue, 19 Aug 2008 22:36:25 -0700 (PDT)
From: Jerry Krinock <jerry@ieee.org>
Subject: Re: En/Decrypt Mismatch: Command-Line Tool vs. Crypt::OpenSSL::RSA
Message-Id: <899af393-9aa4-4ec2-b80e-73943802cc26@z72g2000hsb.googlegroups.com>

Well, I got this working, although I there are several things that
don't seem to work they way they should.  Short summary:  Must use
perl function private_encrypt() instead of sign(), even though, to
generate the same signature, the command-line tool must use -sign.
Must use the SHA1 digest generated by command-line tool, since
$rsa_priv->use_sha1_hash() has no effect on private_encrypt().

I don't understand this well enough to say that these are bugs.  More
comments are in the code in case anyone is interested.

Here are my revised commands/code and working results, starting with
the command-line:

###############################################################
# Create a private key
jk$ openssl genrsa -out Test248.private.pem
Generating RSA private key, 512 bit long modulus
 .........++++++++++++
 .............++++++++++++
e is 65537 (0x10001)

# Create SHA1 digest of message "Bonehead".
# The, write digest to file for later use by perl script.
# Finally, sign the digest using the key in file Test248.private.pem
# and PKCS padding.  Why PKCS?  See note [1].
echo -n "Bonehead" > clearMsg.txt
openssl dgst -sha1 -binary -out msgDigest clearMsg.txt
cat msgDigest | openssl rsautl -pkcs -sign -inkey Test248.private.pem -
hexdump

0000 - 8a c6 56 19 97 f5 e7 16-20 30 f2 2f 0e af 7c 28
0010 - df 9d cd 5a 0e b0 11 c1-cc bb f2 3b 03 87 f0 96
0020 - 0d ce b4 55 dc 69 81 bc-30 40 75 9d 74 b8 b7 bd
0030 - 3b 15 a0 5d c2 db ab 9a-8d d3 f2 4b 77 e1 e9 a1
##############################################################

Now create the same signature using a Crypt::OpenSSL in Perl:

##############################################################
#!/usr/local/bin/perl -w

use strict ;
use warnings ;

use Crypt::OpenSSL::Random ;
use Crypt::OpenSSL::RSA ;

# Read in key from file
my $private_key_string = "" ;
my $key_path = "/Users/jk/Documents/SheepSystems/Keys/
Test248.private.pem" ;
open (KEY_FILE, $key_path) ;
while (my $line = <KEY_FILE>) {
    $private_key_string .= $line ;
}
close(KEY_FILE);
print "Read key from file:\n$private_key_string\n" ;

my $rsa_priv = Crypt::OpenSSL::RSA-
>new_private_key($private_key_string);

$rsa_priv->use_pkcs1_padding() ;
=com
Padding is a big mystery.
The above affects encrypting with the private key
but does not affect signature generation.  As a matter of
fact, it is necessary when using the private_encrypt()
method.  Without the above, private_encrypt() will fail
with error.  I believe the problem is that OpenSSL does not
support oaep padding for signing, which is what you're
doing when you encrypt with the private key, despite doc to
the contrary.  See note [2].
=cut


# $rsa_priv->use_sha1_hash() ;
# The above has no effect on the output of the
# private_encrypt() method.  So, I don't use it.

my $output ;
my $outputHex ;


my $msgDigest ;
my $msgDigest_path = "/Users/jk/Documents/SheepSystems/Keys/
msgDigest" ;
open (MSG_DIGEST_FH, $msgDigest_path) ;
# SHA1 Digest is 20 bytes...
read MSG_DIGEST_FH, $msgDigest, 20 ;
close(MSG_DIGEST_FH) ;
$output = $rsa_priv->private_encrypt($msgDigest);
# If you use sign() instead of private_encrypt()
# above you get a different output.  This does not make sense
# to me because I thought that signing was the same as
# encrypting with the private key.
$outputHex = showHex($output) ;
print "privately encrypted msgDigest:\n$outputHex\n" ;

# sub showHex is shown at the bottom of this message
##############################################################

Running the above script, I get this:

##############################################################
Read key from file:
-----BEGIN RSA PRIVATE KEY-----
MIIBOgIBAAJBALE2d5DpKbYxfIqv+6jYnW6DDvDyJFCdQt+s432GQsy8+ymL9DOR
mPcRQfk1jas1pqtsy+GGUlYd4R1kxbBZb4UCAwEAAQJANqtw83ma7qQRoc9sucgp
uUAhSd/JqDz7tnllrQHQdcyLMRSCBxvZ/i72YVixRRTHb1GVZ79iJWBmzh8ATLvj
uQIhAOuYWu6Vkve+zQ4Cd5EGWpytY/Or/6ZXvQf3L9ELIB07AiEAwI+miVT8t22w
Ge1IX+Q3L7lK2uBm97Pkwix9Wf7K2j8CIFUrQtQ1ZmgBpgeGhMr8zQ0O8a9JYqYz
2bZjefnMV9O5AiEAqSrKLKYcKm1To0NhLNUKYoPPLkCsVPqWgruhGDoOLfMCIE1E
kpJF13Dtq3KQOsaCoXbL4vo350vkBUrSovu45/6p
-----END RSA PRIVATE KEY-----

privately encrypted msgDigest:
64 bytes:
 8a c6 56 19 97 f5 e7 16 20 30 f2 2f 0e af 7c 28
 df 9d cd 5a 0e b0 11 c1 cc bb f2 3b 03 87 f0 96
 0d ce b4 55 dc 69 81 bc 30 40 75 9d 74 b8 b7 bd
 3b 15 a0 5d c2 db ab 9a 8d d3 f2 4b 77 e1 e9 a1

##############################################################

which matches the output from the command-line openssl.

Thanks for reading.  If anyone can explain some of the anomalies
noted, let us know.

Jerry


[1] The reason I used PKCS padding (-pkcs) is because if I change it
to -oaep in the command-line test, I get an error message:
RSA operation error
 error:04066076:rsa routines:RSA_EAY_PRIVATE_ENCRYPT:unknown padding
type:rsa_eay.c:360:
which does not make sense because my version is:

Jerrys-Mac-Mini:Keys jk$ openssl
OpenSSL> version
OpenSSL 0.9.7l 28 Sep 2006

and "RSA_padding_add_PKCS1_OAEP() and RSA_padding_check_PKCS1_OAEP()
were added in OpenSSL 0.9.2b" according to documentation:
http://openssl.org/docs/crypto/RSA_padding_add_PKCS1_type_1.html#

[2]
sub showHex {
  my $data = shift ;
  use bytes ;
  my $len = length($data) ;
  my $i ;
  my $show = "" ;
  for ($i=0; $i<$len; $i++) {
      my $value = ord(substr($data, $i, 1)) ;
      $show .= " " ;
      $show .= sprintf("%02x", $value) ;
      if ((($i+1) % 16) == 0) {
          $show .= "\n" ;
      }
  }

  return "$len bytes:\n$show" ;
}


------------------------------

Date: Tue, 19 Aug 2008 17:50:33 -0500
From: Tad J McClellan <tadmc@seesig.invalid>
Subject: Re: FAQ 4.48 How do I shuffle an array randomly?
Message-Id: <slrngamjhp.1db.tadmc@tadmc30.sbcglobal.net>

jamesfred@mailinator.com <jamesfred@mailinator.com> wrote:
> On Aug 19, 8:03 am, PerlFAQ Server <br...@stonehenge.com> wrote:
>>
>> 4.48: How do I shuffle an array randomly?
>>
>>     If not, you can use a Fisher-Yates shuffle.
>>
>>             sub fisher_yates_shuffle {
>>                     my $deck = shift;  # $deck is a reference to an array
>>                     my $i = @$deck;
>>                     while (--$i) {
>>                             my $j = int rand ($i+1);
>>                             @$deck[$i,$j] = @$deck[$j,$i];
>>                             }
>>             }
>>
>
> This gives an "Modification of non-creatable array value attempted,
> subscript -1" exception if the @$deck is empty.


Yes it does.

Did you mean to make some point regarding that?


-- 
Tad McClellan
email: perl -le "print scalar reverse qq/moc.noitatibaher\100cmdat/"


------------------------------

Date: Tue, 19 Aug 2008 21:07:03 -0700
From: "szr" <szrRE@szromanMO.comVE>
Subject: Re: FAQ 4.48 How do I shuffle an array randomly?
Message-Id: <g8g59802j7e@news4.newsguy.com>

Tad J McClellan wrote:
> jamesfred@mailinator.com <jamesfred@mailinator.com> wrote:
>> On Aug 19, 8:03 am, PerlFAQ Server <br...@stonehenge.com> wrote:
>>>
>>> 4.48: How do I shuffle an array randomly?
>>>
>>> If not, you can use a Fisher-Yates shuffle.
>>>
>>> sub fisher_yates_shuffle {
>>> my $deck = shift; # $deck is a reference to an array
>>> my $i = @$deck;
>>> while (--$i) {
>>> my $j = int rand ($i+1);
>>> @$deck[$i,$j] = @$deck[$j,$i];
>>> }
>>> }
>>>
>>
>> This gives an "Modification of non-creatable array value attempted,
>> subscript -1" exception if the @$deck is empty.
>
>
> Yes it does.
>
> Did you mean to make some point regarding that?

I thought it was rather obvious that he was pointing out a problem with 
that example in that FAQ, as it's customary to fish out any bugs that 
end up in such examples, is it not?

-- 
szr 




------------------------------

Date: Tue, 19 Aug 2008 20:47:26 -0400
From: "Thrill5" <nospam@somewhere.com>
Subject: Re: Help: Debug perl codes
Message-Id: <tK6dnQGxOZw-9DbVnZ2dnUVZ_szinZ2d@comcast.com>


"Michael Carman" <mjcarman@mchsi.com> wrote in message 
news:Sfyqk.304706$yE1.66653@attbi_s21...
> Thrill5 wrote:
>> "Tad J McClellan" <tadmc@seesig.invalid> wrote:
>>> Please do not continue to use this newsgroup as a service
>>> that reads the docs to you.
>>>
>>> Make at least some small effort to answer your questions yourself
>>> before resorting to asking here.
>>
>> Or else what?  You'll stop posting and we all wont be able to read your
>> rants anymore?
>>
>> Waahhhh!!!
>
> Don't mock. Many highly knowledgeable Perl programmers *have* stopped
> posting here -- to everyones loss -- because they've grown weary of
> answering the same questions ad nauseum and of self-righteous whiners
> throwing tantrums when they are told to RTFM.
>
> I'd rather lose them than Tad.
>
> -mjc
If everyone were to RTFM then there wouldn't be any need to post any 
messages here in the first place.  Everything about Perl is documented ad 
nauseam and at least a couple hundred books published on the subject.  This 
is a public newsgroup where ANYONE can post a ANY question they want that is 
related to Perl even if it is printed in the FUCKING MANUAL.  If someone 
thinks the question is STUPID, SHUT THE FUCK UP and don't REPLY. No one is 
forcing anyone to answer any question.  If your too think your too smart to 
answer stupid questions, don't waste YOUR time, or my bandwidth with a "your 
stupid because you didn't RTFM" answer.  The only self-righteous douchbags 
on this newsgroups are the "highly knowledgeable Perl programmers"  replying 
with RTFM. 




------------------------------

Date: Wed, 20 Aug 2008 09:05:05 +0800
From: Amy Lee <openlinuxsource@gmail.com>
Subject: Re: Help: Debug perl codes
Message-Id: <pan.2008.08.20.01.05.03.37600@gmail.com>

On Tue, 19 Aug 2008 20:47:26 -0400, Thrill5 wrote:

> 
> "Michael Carman" <mjcarman@mchsi.com> wrote in message 
> news:Sfyqk.304706$yE1.66653@attbi_s21...
>> Thrill5 wrote:
>>> "Tad J McClellan" <tadmc@seesig.invalid> wrote:
>>>> Please do not continue to use this newsgroup as a service
>>>> that reads the docs to you.
>>>>
>>>> Make at least some small effort to answer your questions yourself
>>>> before resorting to asking here.
>>>
>>> Or else what?  You'll stop posting and we all wont be able to read your
>>> rants anymore?
>>>
>>> Waahhhh!!!
>>
>> Don't mock. Many highly knowledgeable Perl programmers *have* stopped
>> posting here -- to everyones loss -- because they've grown weary of
>> answering the same questions ad nauseum and of self-righteous whiners
>> throwing tantrums when they are told to RTFM.
>>
>> I'd rather lose them than Tad.
>>
>> -mjc
> If everyone were to RTFM then there wouldn't be any need to post any 
> messages here in the first place.  Everything about Perl is documented ad 
> nauseam and at least a couple hundred books published on the subject.  This 
> is a public newsgroup where ANYONE can post a ANY question they want that is 
> related to Perl even if it is printed in the FUCKING MANUAL.  If someone 
> thinks the question is STUPID, SHUT THE FUCK UP and don't REPLY. No one is 
> forcing anyone to answer any question.  If your too think your too smart to 
> answer stupid questions, don't waste YOUR time, or my bandwidth with a "your 
> stupid because you didn't RTFM" answer.  The only self-righteous douchbags 
> on this newsgroups are the "highly knowledgeable Perl programmers"  replying 
> with RTFM.
Actually speaking, I have read the manual before I post my problem. But I
hope I can trace every sentence in my perl codes not just 'debug'.
However, I suppose that someone really did as misunderstood.

As I think, experts might more be patient to newbies, right?

Regards,

Amy


------------------------------

Date: Tue, 19 Aug 2008 22:59:26 GMT
From: Michael Carman <mjcarman@mchsi.com>
Subject: Re: List Context in a Boolean Expression
Message-Id: <ifIqk.305368$yE1.89971@attbi_s21>

Dr.Ruud wrote:
> Michael Carman schreef:
> 
>> I'm having a hard time envisioning a situation where
>>   @foo = $bar || @baz;
>> is useful. 
> 
> 
> Then use it in a JAPH.

I'm rather hoping that language design decisions aren't being influenced
by how useful a feature would be in obfuscated code contests. :P

> Why did you write "$bar"? 

To highlight that the left operand to || is evaluated in scalar context.

Additionally, since perlop explicitly says

    @a = @b || @c;  # this is wrong

Then presumably the right[1] syntax that would make use of list context
to the right operand would be

    @a = $b || @c;

I can't think of any idioms that would make use of that, though.

[1] for some definition of "right"


------------------------------

Date: Wed, 20 Aug 2008 04:42:21 GMT
From: merlyn@stonehenge.com (Randal Schwartz)
Subject: new CPAN modules on Wed Aug 20 2008
Message-Id: <K5vuEL.1MxF@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.

App-CCSV-0.01
http://search.cpan.org/~gargamel/App-CCSV-0.01/
Command line "auto split" for easy working on CSV files via perl -ne 
----
Bio-DOOP-DOOP-1.00
http://search.cpan.org/~tibi/Bio-DOOP-DOOP-1.00/
DOOP API main module 
----
CPAN-Mini-Webserver-0.39
http://search.cpan.org/~lbrocard/CPAN-Mini-Webserver-0.39/
Search and browse Mini CPAN 
----
CPAN-WWW-Testers-Generator-0.24
http://search.cpan.org/~barbie/CPAN-WWW-Testers-Generator-0.24/
Download and summarize CPAN Testers data 
----
CatalystX-ListFramework-Builder-0.25
http://search.cpan.org/~oliver/CatalystX-ListFramework-Builder-0.25/
Instant AJAX web front-end for DBIx::Class, using Catalyst 
----
Chart-Clicker-1.99_09
http://search.cpan.org/~gphat/Chart-Clicker-1.99_09/
Powerful, extensible charting. 
----
Chart-Clicker-1.99_10
http://search.cpan.org/~gphat/Chart-Clicker-1.99_10/
Powerful, extensible charting. 
----
Convert-Moji-0.01
http://search.cpan.org/~bkb/Convert-Moji-0.01/
convert between lists of characters 
----
DBIx-Compare-1.0
http://search.cpan.org/~cjones/DBIx-Compare-1.0/
Compare database content 
----
DBIx-Compare-ContentChecksum-mysql-1.0
http://search.cpan.org/~cjones/DBIx-Compare-ContentChecksum-mysql-1.0/
Extension to DBIx::Compare, enables more detailed comparison of MySQL databases. 
----
DBIx-Connection-0.08
http://search.cpan.org/~adrianwit/DBIx-Connection-0.08/
Simple database interface. 
----
Data-AMF-0.02004
http://search.cpan.org/~typester/Data-AMF-0.02004/
serialize / deserialize AMF data 
----
Data-Iterator-Hierarchical-0.01
http://search.cpan.org/~nobull/Data-Iterator-Hierarchical-0.01/
Iterate hierarchically over data 
----
Data-Microformat-0.02
http://search.cpan.org/~ussjoin/Data-Microformat-0.02/
----
Data-Serializer-0.47
http://search.cpan.org/~neely/Data-Serializer-0.47/
Modules that serialize data structures 
----
Document-Writer-0.05
http://search.cpan.org/~gphat/Document-Writer-0.05/
Library agnostic document creation 
----
Egg-Plugin-Net-Scan-3.02
http://search.cpan.org/~lushe/Egg-Plugin-Net-Scan-3.02/
Network host's port is checked. 
----
Foorum-0.2.1
http://search.cpan.org/~fayland/Foorum-0.2.1/
Foorum is a forum script built in Catalyst. 
----
Gantry-Plugins-Session-0.03
http://search.cpan.org/~kesteb/Gantry-Plugins-Session-0.03/
Plugin for cookie based session management 
----
Graphics-Primitive-0.21
http://search.cpan.org/~gphat/Graphics-Primitive-0.21/
Device and library agnostic graphic primitives 
----
Graphics-Primitive-0.22
http://search.cpan.org/~gphat/Graphics-Primitive-0.22/
Device and library agnostic graphic primitives 
----
Graphics-Primitive-Driver-Cairo-0.12
http://search.cpan.org/~gphat/Graphics-Primitive-Driver-Cairo-0.12/
Cairo backend for Graphics::Primitive 
----
Image-Pngslimmer-0.26
http://search.cpan.org/~acmcmen/Image-Pngslimmer-0.26/
slims (dynamically created) PNGs 
----
LaTeX-Table-0.7.0
http://search.cpan.org/~limaone/LaTeX-Table-0.7.0/
Perl extension for the automatic generation of LaTeX tables. 
----
Layout-Manager-0.15
http://search.cpan.org/~gphat/Layout-Manager-0.15/
2D Layout Management 
----
Mail-Mailer-smtp_auth-0.02
http://search.cpan.org/~fayland/Mail-Mailer-smtp_auth-0.02/
a Net::SMTP_auth wrapper for Mail::Mailer 
----
Muldis-Rosetta-0.10.0
http://search.cpan.org/~duncand/Muldis-Rosetta-0.10.0/
Full-featured truly relational DBMS in Perl 
----
Net-Telnet-Brcd-0.2
http://search.cpan.org/~lbendavid/Net-Telnet-Brcd-0.2/
Contact BROCADE switch with TELNET 
----
OpenGL-QEng-0.25
http://search.cpan.org/~overmars/OpenGL-QEng-0.25/
----
POE-Component-Client-Whois-1.18
http://search.cpan.org/~bingos/POE-Component-Client-Whois-1.18/
A one shot non-blocking RFC 812 WHOIS query. 
----
Parse-CPAN-Packages-2.29
http://search.cpan.org/~lbrocard/Parse-CPAN-Packages-2.29/
Parse 02packages.details.txt.gz 
----
Regexp-Wildcards-1.01
http://search.cpan.org/~vpit/Regexp-Wildcards-1.01/
Converts wildcard expressions to Perl regular expressions. 
----
SQL-Translator-0.09001
http://search.cpan.org/~jrobinson/SQL-Translator-0.09001/
manipulate structured data definitions (SQL and more) 
----
SVN-DumpReloc-0.01
http://search.cpan.org/~salva/SVN-DumpReloc-0.01/
Perl script to rewrite paths inside a Subversion dump 
----
Scalar-Util-Refcount-1.0
http://search.cpan.org/~jnixon/Scalar-Util-Refcount-1.0/
Show an object's reference count 
----
SkypeAPI-0.04
http://search.cpan.org/~laomoi/SkypeAPI-0.04/
Skype API simple implementation, only support windows platform now. 
----
SkypeAPI-0.05
http://search.cpan.org/~laomoi/SkypeAPI-0.05/
Skype API simple implementation, only support windows platform now. 
----
SkypeAPI-0.06
http://search.cpan.org/~laomoi/SkypeAPI-0.06/
Skype API simple implementation, only support windows platform now. 
----
TAP-Harness-JUnit-0.22
http://search.cpan.org/~lkundrak/TAP-Harness-JUnit-0.22/
Generate JUnit compatible output from TAP results 
----
Template-Plugin-HtmlToText-0.03
http://search.cpan.org/~fayland/Template-Plugin-HtmlToText-0.03/
Plugin interface to HTML::FormatText 
----
Test-Aggregate-0.32_05
http://search.cpan.org/~ovid/Test-Aggregate-0.32_05/
Aggregate *.t tests to make them run faster. 
----
Test-Run-CmdLine-0.0109
http://search.cpan.org/~shlomif/Test-Run-CmdLine-0.0109/
Analyze tests from the command line using Test::Run 
----
Test-Run-CmdLine-0.0110
http://search.cpan.org/~shlomif/Test-Run-CmdLine-0.0110/
Analyze tests from the command line using Test::Run 
----
Test-Run-Plugin-AlternateInterpreters-0.0107
http://search.cpan.org/~shlomif/Test-Run-Plugin-AlternateInterpreters-0.0107/
Define different interpreters for different test scripts with Test::Run. 
----
Test-Run-Plugin-ColorFileVerdicts-0.0105
http://search.cpan.org/~shlomif/Test-Run-Plugin-ColorFileVerdicts-0.0105/
make the file verdict ("ok", "NOT OK") colorful. 
----
Test-Run-Plugin-ColorSummary-0.0104
http://search.cpan.org/~shlomif/Test-Run-Plugin-ColorSummary-0.0104/
A Test::Run plugin that colors the summary. 
----
Test-Run-Plugin-TrimDisplayedFilenames-0.0102
http://search.cpan.org/~shlomif/Test-Run-Plugin-TrimDisplayedFilenames-0.0102/
trim the first components of the displayed filename to deal with excessively long ones. 
----
Test-Smoke-1.35
http://search.cpan.org/~abeltje/Test-Smoke-1.35/
The Perl core test smoke suite 
----
Text-WagnerFischer-Armenian-0.02
http://search.cpan.org/~aurum/Text-WagnerFischer-Armenian-0.02/
a variation on Text::WagnerFischer for Armenian-language strings 
----
Win32-Clipboard-0.55
http://search.cpan.org/~jdb/Win32-Clipboard-0.55/
Interaction with the Windows clipboard 
----
Win32-FileSecurity-1.07
http://search.cpan.org/~jdb/Win32-FileSecurity-1.07/
Manage FileSecurity Discretionary Access Control Lists in Perl 
----
Workflow-0.32_4
http://search.cpan.org/~jonasbn/Workflow-0.32_4/
Simple, flexible system to implement workflows 
----
mogilefs-server-2.19
http://search.cpan.org/~dormando/mogilefs-server-2.19/
----
mogilefs-server-2.20
http://search.cpan.org/~dormando/mogilefs-server-2.20/
----
parrot-0.7.0
http://search.cpan.org/~rgrjr/parrot-0.7.0/
----
re-engine-Plugin-0.05
http://search.cpan.org/~avar/re-engine-Plugin-0.05/
API to write custom regex engines 
----
re-engine-Plugin-0.06
http://search.cpan.org/~avar/re-engine-Plugin-0.06/
API to write custom regex engines 


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: Tue, 19 Aug 2008 22:37:37 GMT
From: sln@netherlands.com
Subject: Re: Programming Languages Decisions
Message-Id: <fuhma4h2lqq92hqkgoduu3ak7514hcc13c@4ax.com>

On Tue, 19 Aug 2008 01:29:59 -0500, "E.D.G." <edgrsprj@ix.netcom.com> wrote:

><sln@netherlands.com> wrote in message 
>news:e2mja4dohbeb8q3akdi4kttg65k8u22v7g@4ax.com...
>
>> I don't see the original message here or where it originates but is
>> Netcom still a domain?
>
>Netcom is presently one of the domains owned by Earthlink
>
>>
>> Your crosspost has hit a Perl group though, not hardly a language to base
>> calculation intensive operations on.
>
>Perl is fast enough for this application.  There are lots of repetitive 
>calculations.  But they are mostly simple math.  And I myself am happy with 
>the Perl - Gnuplot combination.  But other people will be starting to expand 
>the program with their own equations and code.  And I am trying to 
>anticipate what languages they might want to work with.
>
>>
>> I don't know what physics have changed (?), but unless someone has 
>> invented
>> some new transcendental function, existing commercial math package should 
>> work for
>> anything. There are a few good simulation software packages around.
>
>By "physics discoveries" what I mean is that I have developed equations that 
>do a good job of showing how sun and moon gravitational forces are linked 
>with earthquakes etc.  At the present time, most researchers do not know how 
>to get those types of calculations to work.  For example, the most important 
>data appear to be related to the combination of both the sun and moon 
>gravities rather than the gravities of either the sun or moon by themselves. 
>And there are other important relationships that researchers need to take 
>into account while doing this type of work.  Otherwise their data just look 
>like random numbers.  When they do the right types of calculations the data 
>are spectacular.  It is like an entierely new area of science being opened. 
>I don't have a fraction of the time needed to explore all of the 
>possibilities.  That is one of the reasons I am circulating my programs to 
>other researchers around the world.
>
>> I guess MatLab is a possibility as well.
>>
>> If its something you want to do from scratch and need speed, all
>> languages resolve to assembly.
>> So something like a structured C/C++ based application,
>> or write a custom compiler for your own language.
>
>I myself have never done any work with the C group of languages.  But from 
>what I have heard about people discussing them I suspect that if government 
>scientists decide to choose a language for this application they might go 
>with one of them.

Ok, obviously your not running simulations so why not use what you like,

  12. ADVANCED COMPUTATION AND VISUALIZATION 
    Gnuplot is used for plotting in a free and open Matlab-like programming
    environment called Octave. 

If your looking to solve unified field theory, it may not be what you wan't.
Its got its own programming environment that most engineers are comfortable
with, what else would you you need then? There's really no way around learning
macro's for these packages, so jump right in.

Good luck





------------------------------

Date: Tue, 19 Aug 2008 20:27:50 +0200
From: Joost Diepenmaat <joost@zeekat.nl>
Subject: Re: recursive filehandle
Message-Id: <878wuszwpl.fsf@zeekat.nl>

Leon Timmermans <fawaka@gmail.com> writes:

> On Tue, 19 Aug 2008 18:36:29 +0200, Wijnand Nijs wrote:
>> sub built_tolist($) {
>>   local (*FILE);
>>   my $Listfile = shift;
>>   my $Listline;
>>   my @ems;
>> 
>>   open (FILE,"<$Listfile");
>>   while ($Listline=<FILE>) {
>>    chop $Listline;
>>    @ems = split(/$Delimiter/,$Listline); 
>>    if ($ems[1] eq "0") {
>>     &built_tolist($ems[2]);
>>    }
>>    elsif ($ems[1] eq "1") {
>>     push(@Tolist,$ems[4]);
>>    }
>>    else {
>>    }
>>   }
>>   close(FILE);
>>   return(1);
>> }
 ...
> There is a very easy solution to these kinds of problems: using lexical 
> filehandles. 

I'm pretty sure using local() should work, if the open() call
succeeds. But you're right that lexical filehandles are probably a
better solution.

Regards,
Joost.

-- 
Joost Diepenmaat | blog: http://joost.zeekat.nl/ | work: http://zeekat.nl/


------------------------------

Date: Tue, 19 Aug 2008 22:32:36 +0300
From: Eric Pozharski <whynot@pozharski.name>
Subject: Re: recursive filehandle
Message-Id: <knjrn5x1qv.ln2@carpet.zombinet>

Wijnand Nijs <w.nijs@alf4all.demon.nl> wrote:
*SKIP*
> I have used a local filehandle (*FILE)! Can sombody help me where to look?

Show your code.  Works for me (despite it's awful)

22:26:56 113 [1:0]$ perl -wle '
> sub zzz {
>   local *FILE;
>   open FILE, q|</etc/issue| or die $!;
>   warn q|fileno is |, fileno FILE;
>   print quotemeta <FILE>;
>   zzz(1) unless $_[0];
>   print quotemeta <FILE>;
>   close FILE; };
> zzz();'
fileno is 3 at -e line 5.
Debian\ GNU\/Linux\ lenny\/sid\ \\n\ \\l\

fileno is 4 at -e line 5.
Debian\ GNU\/Linux\ lenny\/sid\ \\n\ \\l\

\

\

22:29:32 114 [1:0]$ 

Sorry for somewhat messy output (it's too late to look for two line
file).

-- 
Torvalds' goal for Linux is very simple: World Domination


------------------------------

Date: Tue, 19 Aug 2008 22:55:22 -0700 (PDT)
From: Arun <sajapuram.arun.prakash@gmail.com>
Subject: Repeating the array
Message-Id: <7a5c4690-0d82-4976-bec0-21c04b2add8e@m44g2000hsc.googlegroups.com>

Hi,
    I just wanted small help here, i want to repeat an array for every
30 seconds.
lets us keep i want to send an array for every 30 seconds and also
should be able to quit as per the user.


------------------------------

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 1805
***************************************


home help back first fref pref prev next nref lref last post