[30789] in Perl-Users-Digest

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

Perl-Users Digest, Issue: 2034 Volume: 11

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Fri Dec 5 09:09:44 2008

Date: Fri, 5 Dec 2008 06:09:08 -0800 (PST)
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)

Perl-Users Digest           Fri, 5 Dec 2008     Volume: 11 Number: 2034

Today's topics:
    Re: a homework need help <josef.moellers@fujitsu-siemens.com>
    Re: a simple control in an nntp client <george@example.invalid>
        Invalid Argument while Opening file <bubunia2000ster@gmail.com>
    Re: Invalid Argument while Opening file <someone@example.com>
    Re: Invalid Argument while Opening file <tadmc@seesig.invalid>
    Re: Invalid Argument while Opening file <tadmc@seesig.invalid>
        new CPAN modules on Fri Dec  5 2008 (Randal Schwartz)
    Re: perl segfault - how to troubleshoot sln@netherlands.com
        Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)

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

Date: Fri, 05 Dec 2008 13:49:01 +0100
From: Josef Moellers <josef.moellers@fujitsu-siemens.com>
Subject: Re: a homework need help
Message-Id: <ghb7vq$u21$1@nntp.fujitsu-siemens.com>

Camel wrote:
> I have no clue with my homework, can anyone help me?
> 
> Three digits "1,2,3", how many 3-digit numbers can be made? print all the 
> numbers
> 
> I know how to calculate the total numbers and using loop to print all the 
> numbers. The problem is how to write a generic program that takes any number 
> of digits. For example, if given "1,2,3,4,5" digits, you still can use your 
> program to print all the combinations of 5-digit numbers without modifing 
> it.

The answer is: as many as there are permutations of the <n> digits.

As Tim Greer has pointed out: we don't do other people's homework, but 
we're willing to help get over some problem or the other. So post 
whatever you have, tell us what you expect the program to do and whereit 
doesn't work as expected, and we may be able to help you.

-- 
These are my personal views and not those of Fujitsu Siemens Computers!
Josef Möllers (Pinguinpfleger bei FSC)
	If failure had no penalty success would not be a prize (T.  Pratchett)
Company Details: http://www.fujitsu-siemens.com/imprint.html


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

Date: Fri, 5 Dec 2008 01:33:47 -0700
From: George <george@example.invalid>
Subject: Re: a simple control in an nntp client
Message-Id: <r5qqna9mqeqb.em0n4xbifecz.dlg@40tude.net>

On Fri, 05 Dec 2008 03:57:42 GMT, sln@netherlands.com wrote:

> On Thu, 4 Dec 2008 14:13:27 -0700, George <george@example.invalid> wrote:
> 
>>
>>I would like to extend the following script:
>>
> Have you thought of 'extension' courses?
> 
> sln

No, but your response makes me recall fondly the moments when I used to
throw eurotrash around.  Typ.
-- 
George

I believe that God has planted in every heart the desire to live in
freedom.
George W. Bush

Picture of the Day http://apod.nasa.gov/apod/


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

Date: Fri, 5 Dec 2008 03:23:41 -0800 (PST)
From: Pradeep <bubunia2000ster@gmail.com>
Subject: Invalid Argument while Opening file
Message-Id: <d2a8c5bd-a7a2-4340-a698-5e905bffe51f@a29g2000pra.googlegroups.com>

Hi all,
   When I was writing a code which will check some syntax of the files
inside a directory. The first_pass proc gathers all the related
variables and second_pass proc process those lines inside the file.
When I ran the program it gave an error:
Couldn't open input file "a.tcl": Invalid argument at C:/qtcheckref/
checktclvars.pl line 268, <INFILE> line 13591.

Could anyone help me in this regard?


$ignoreArrays = " $ignoreArrays";
$varNames = " argv $ignoreVars";

@files = ();

# Do the actual work
#
while ($file = shift())
{
    push @files,$file;
}

#
# Run the first pass - collect variable names
#
@temp = @files;
while ($file = shift(@temp))
{
        $varNames = first_pass($file,$varNames);
}

#
# Run the second pass - check variable names
#
@temp = @files;
while ($file = shift(@temp))
{
    while (<$file>)
    {
        print "Checking $_\n";
        second_pass( $_ , $varNames );
    }
}

#--------------------------------------------------------------------------

#
# Add_Var:
#    Add to the list of known variables
#
#  parameters:
#    $_[0] - variable to add
#    $_[1] - list of known variables so far
#
#  returns:
#    The new list of known variables
#
sub add_var {
    my $var  = $_[0];
    my $vars = $_[1];

    $pattern = $var;
    $pattern =~ s/\)/\\\)/;
    $pattern =~ s/\(/\\\(/;

    if ($vars !~ / $pattern/)
    {
        $vars = "$vars $var";
    }

    return $vars;
}

#
# First pass:
#     Pass over the file, and collect variable definitions.
#     Note: We ignore variable names with '$'s in them,
#           or variable names with [set xxx] in them.
#
#     When arrays are found, collect the name of the array.
#     Also collect the element of the array
#     if the array index has no weird shit in it.
#
#  parameters:
#    $_[0] - filename
#    $_[1] - list of known variables so far
#
sub first_pass {
    my $infile = $_[0];
    my $vars   = $_[1];
    my $array, $var, $temp, $key;

    open(INFILE,"<$infile")
    || die "Couldn't open input file '$infile': $!";

    while (<INFILE>)
    {
        $line = $_;

        # strip comments
        $line =~ s/^\s*(\#.*)//;
        $line =~ s/;(\#.*)//;

        # Check for continuing line ('\' at end)
        while ( $line =~ /\\\s*$/ )
        {
            # strip the tailing '\' and newline
            $line =~ s/\\.*$//s;
            $nextLine = <INFILE>;

            $line = "$line $nextLine";

            # Now re-strip comments
            $line =~ s/^\s*(\#.*)//;
            $line =~ s/;(\#.*)//;
        }


        # Look for statements of the form "set a b" (or "set
namespace::a b")
        while ( $line =~ /set\s+(\w*::)?(\w+)/g )
        {
            $vars = add_var($2, $vars);
            # if this is an array element, we've already got the name
of the array.
            # see if we can get the element of the array also.
            if ( $line =~ /set\s+(\w+\(\w+\))/ )
            {
                $vars = add_var($1, $vars);
            }
        }

        # Look for statements of the form "foreach a ..."
        if ($line =~ s/foreach\s+//)
        {
            # match "foreach a $b" and "foreach a $b c $d"
            while ($line =~ /\{?(\w+)\}?\s+\S+/g)
            {
                $vars = add_var($1, $vars);
            }
        }

        # Look for statements of the form "gets channelId varName"
        if ($line =~ s/gets\s+\S+\s+(\w+)//)
        {
            $vars = add_var($1, $vars);
        }

        # Look for statements of the form "lappend varName values"
        if ($line =~ s/lappend\s+(\w+)//)
        {
            $vars = add_var($1, $vars);
        }

        # Look for statements of the form "global a"
        if ($line =~ /global\s+(\w+)/)
        {
            $vars = add_var($1, $vars);
        }

        # Look for statements of the form "catch { ... } var"
        if ($line =~ /catch\s+(\{[^\}]+\}|\"[^\"]+\")\s+(\w+)/)
        {
            $vars = add_var($2, $vars);
        }

        # Look for statements of the form "proc .... { varname1
varname2 } {"
        if ( $line =~ /^proc/ ) {
            $line =~ s/^proc [^\{]+\{\s*//;

            while ($line =~ /((\w|_)+)\W+/g)
            {
                $vars = add_var($1, $vars);
            }
        }

        # Look for statements of the form "array set arrayName
[list ...
        if ( $line =~ /\s*array\s+set\s+(\w+)\s+\[\s*list/ )
        {
            $array = $1;
            $temp  = $line;

            # strip off the crap at the front
            $temp  =~ s/\s*array\s+set\s+\w+\s+\[\s*list\s*//;

            # look for elements being defined (ie. 'key value' pairs)
            while ( $temp =~ /((\[[^\]]\]|\S+)+)\s+(\{[^\}]+\}|\"[^\"]+
\"|\[[^\]]+\]|\S+)+/g )
            {
                $key = $1;

                # only add it if there's no weird shit
                if ($key =~ /\w+/)
                {
                    $var = "$array($key)";
                    $vars = add_var($var, $vars);
                }
            }
        }
    }
    return $vars;

    close(INFILE);
}

#
# Second pass:
#     Pass over the file, looking for:
#      - undefined variables
#      - 'set $varname value' style errors
#      - 'foreach $varname list' style errors
#
# parameters:
#   $_[0] - filename
#   $_[1] - the list of known variables
#
# returns:
#   nothing
#
sub second_pass {
    my $infile  = $_[0];
    my $vars    = $_[1];
    my $lineNum = 0;
    my $array, $var, $pattern, $suggest;

    open(INFILE,"<$infile")
    || die "Couldn't open input file $infile: $!";

    while (<INFILE>)
    {
        $line = $_;
        $lineNum++;

        # strip comments
        $line =~ s/^\s*\#.*//;
        $line =~ s/;\#.*//;

        # Check for continuing line ('\' at end)
        while ( $line =~ /\\\s*$/ )
        {
            $lineNum++;

            # strip the tailing '\' and newline
            $line =~ s/\\.*$//s;


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

Date: Fri, 05 Dec 2008 04:53:26 -0800
From: "John W. Krahn" <someone@example.com>
Subject: Re: Invalid Argument while Opening file
Message-Id: <bv9_k.14356$b05.5892@newsfe06.iad>

Pradeep wrote:
> 
> When I was writing a code which will check some syntax of the files
> inside a directory. The first_pass proc gathers all the related
> variables and second_pass proc process those lines inside the file.
> When I ran the program it gave an error:
> Couldn't open input file "a.tcl": Invalid argument at C:/qtcheckref/
> checktclvars.pl line 268, <INFILE> line 13591.
> 
> Could anyone help me in this regard?
> 
> 
> $ignoreArrays = " $ignoreArrays";
> $varNames = " argv $ignoreVars";
> 
> @files = ();
> 
> # Do the actual work
> #
> while ($file = shift())
> {
>     push @files,$file;
> }

Or simply:

my @files = @ARGV;


> #
> # Run the first pass - collect variable names
> #
> @temp = @files;
> while ($file = shift(@temp))
> {
>         $varNames = first_pass($file,$varNames);
> }

If you have a file named "0" your loop will end.

foreach my $file ( @files ) {
     $varNames = first_pass( $file, $varNames );
}


> #
> # Run the second pass - check variable names
> #
> @temp = @files;
> while ($file = shift(@temp))
> {
>     while (<$file>)

You are trying to read lines from the filehandle $file but $file 
contains the *name* of a file, not a filehandle.


>     {
>         print "Checking $_\n";
>         second_pass( $_ , $varNames );
>     }
> }

foreach my $file ( @files ) {
     print "Checking $file\n";
     second_pass( $file, $varNames );
}


> #--------------------------------------------------------------------------
> 
> #
> # Add_Var:
> #    Add to the list of known variables
> #
> #  parameters:
> #    $_[0] - variable to add
> #    $_[1] - list of known variables so far
> #
> #  returns:
> #    The new list of known variables
> #
> sub add_var {
>     my $var  = $_[0];
>     my $vars = $_[1];
> 
>     $pattern = $var;
>     $pattern =~ s/\)/\\\)/;
>     $pattern =~ s/\(/\\\(/;
> 
>     if ($vars !~ / $pattern/)
>     {
>         $vars = "$vars $var";
>     }
> 
>     return $vars;
> }

Or simply:

sub add_var {
     my ( $var, $vars ) = @_;

     if ($vars !~ / \Q$var/)
     {
         $vars .= " $var";
     }

     return $vars;
}


> #
> # First pass:
> #     Pass over the file, and collect variable definitions.
> #     Note: We ignore variable names with '$'s in them,
> #           or variable names with [set xxx] in them.
> #
> #     When arrays are found, collect the name of the array.
> #     Also collect the element of the array
> #     if the array index has no weird shit in it.
> #
> #  parameters:
> #    $_[0] - filename
> #    $_[1] - list of known variables so far
> #
> sub first_pass {
>     my $infile = $_[0];
>     my $vars   = $_[1];
>     my $array, $var, $temp, $key;
> 
>     open(INFILE,"<$infile")
>     || die "Couldn't open input file '$infile': $!";
> 
>     while (<INFILE>)
>     {
>         $line = $_;
> 
>         # strip comments
>         $line =~ s/^\s*(\#.*)//;
>         $line =~ s/;(\#.*)//;
> 
>         # Check for continuing line ('\' at end)
>         while ( $line =~ /\\\s*$/ )
>         {
>             # strip the tailing '\' and newline
>             $line =~ s/\\.*$//s;
>             $nextLine = <INFILE>;
> 
>             $line = "$line $nextLine";
> 
>             # Now re-strip comments
>             $line =~ s/^\s*(\#.*)//;
>             $line =~ s/;(\#.*)//;
>         }

     while (my $line = <INFILE>)
     {
         # strip comments
         $line =~ s/^\s*(#.*)//;
         $line =~ s/;(#.*)//;

         # Check for continuing line ('\' at end)
         if ( $line =~ s/\\\s*\n\z// )
         {
             $line .= ' ' . <INFILE>;

             # Now re-strip comments
             redo;
         }



John
-- 
Those people who think they know everything are a great
annoyance to those of us who do.        -- Isaac Asimov


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

Date: Fri, 5 Dec 2008 06:56:28 -0600
From: Tad J McClellan <tadmc@seesig.invalid>
Subject: Re: Invalid Argument while Opening file
Message-Id: <slrngji97s.suv.tadmc@tadmc30.sbcglobal.net>

Pradeep <bubunia2000ster@gmail.com> wrote:

> Couldn't open input file "a.tcl": Invalid argument at C:/qtcheckref/
                           ^     ^
> checktclvars.pl line 268, <INFILE> line 13591.

>     open(INFILE,"<$infile")
>     || die "Couldn't open input file '$infile': $!";
                                       ^       ^

It appears that you have a corrupted install of perl itself, as it is
somehow converting single quotes into double quotes...

Is the code above "line 268"?

 ...


>     open(INFILE,"<$infile")
>     || die "Couldn't open input file $infile: $!";


 ... or is this "line 268"?


Now it appears that the corruption is *inserting* double quote characters...


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


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

Date: Fri, 5 Dec 2008 07:24:47 -0600
From: Tad J McClellan <tadmc@seesig.invalid>
Subject: Re: Invalid Argument while Opening file
Message-Id: <slrngjiasv.suv.tadmc@tadmc30.sbcglobal.net>

Pradeep <bubunia2000ster@gmail.com> wrote:

> @files = ();
>
> # Do the actual work
> #
> while ($file = shift())
> {
>     push @files,$file;
> }


   @files = @ARGV;  # replace all of the above with a single copy


Note that @files contains filenames (strings).


> while ($file = shift(@temp))
> {
>         $varNames = first_pass($file,$varNames);
> }


Are you familiar with the "foreach" control structure?

You should be...

See the "Foreach Loops" in perlsyn.pod


> @temp = @files;


Note that @temp also contains filenames (strings).


> while ($file = shift(@temp))


Note that $file also contains a filename (string).


> {
>     while (<$file>)


You should always enable warnings when developing Perl code!

The input operator takes a filehandle not a filename.


> sub add_var {
>     my $var  = $_[0];
>     my $vars = $_[1];


   my( $var, $vars ) = @_;  # a better way of copying arguments


>     $pattern =~ s/\)/\\\)/;


The 2nd (replacement) part of s/// is not a regular expression, it
is a double quotish string.

Parenthesis are not meta in double quoted strings, so you have
more backslashes than you need:

    $pattern =~ s/\)/\\)/;


>     while (<INFILE>)
>     {
>         $line = $_;


If you want the input line in $line, then why put it somewhere else then
copy it rather than simply put it where you want it when you first get it?


    while ( my $line = <INFILE> )


>         $line =~ s/^\s*(\#.*)//;


Number signs are not meta in regular expressions. You have more
backslashes than you need.

You should not capture if you are not going to use the string
that is captured...


    $line =~ s/^\s*#.*//;


>         while ( $line =~ /\\\s*$/ )
>         {
>             # strip the tailing '\' and newline
>             $line =~ s/\\.*$//s;


Note that this pattern is not the same as the pattern in the while()...

It will change

    I have a backslash in the \middle and at the end too\

into

    I have a backslash in the 

You can use s/// in the while condition you know:

   while ( $line =~ s/\\\s*$// )


>             $line = "$line $nextLine";


Same as

   $line .= " $nextLine";


>             while ($line =~ /((\w|_)+)\W+/g)


Same as

   while ($line =~ /(\w+)\W+/g)

since \w already contains underscore.


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


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

Date: Fri, 5 Dec 2008 05:42:23 GMT
From: merlyn@stonehenge.com (Randal Schwartz)
Subject: new CPAN modules on Fri Dec  5 2008
Message-Id: <KBE2In.vuG@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.

Apache2-ASP-2.05
http://search.cpan.org/~johnd/Apache2-ASP-2.05/
ASP for Perl, reloaded. 
----
Apache2-WURFLFilter-0.51
http://search.cpan.org/~ifuschini/Apache2-WURFLFilter-0.51/
is a Apache Mobile Filter that manage content (text & image) to the correct mobile device 
----
Apache2-WURFLFilter-0.52
http://search.cpan.org/~ifuschini/Apache2-WURFLFilter-0.52/
is a Apache Mobile Filter that manage content (text & image) to the correct mobile device 
----
CGI-Application-Dispatch-2.15
http://search.cpan.org/~markstos/CGI-Application-Dispatch-2.15/
Dispatch requests to CGI::Application based objects 
----
CPANPLUS-Dist-RPM-0.0.6
http://search.cpan.org/~rsrchboy/CPANPLUS-Dist-RPM-0.0.6/
a CPANPLUS backend to build RPM 
----
CSS-Packer-0.1
http://search.cpan.org/~nevesenin/CSS-Packer-0.1/
Another CSS minifier 
----
Catalyst-Plugin-Geography-0.03
http://search.cpan.org/~mramberg/Catalyst-Plugin-Geography-0.03/
Retrieve geographical information 
----
CatalystX-CRUD-0.36
http://search.cpan.org/~karman/CatalystX-CRUD-0.36/
CRUD framework for Catalyst applications 
----
Class-MOP-0.71_01
http://search.cpan.org/~drolsky/Class-MOP-0.71_01/
A Meta Object Protocol for Perl 5 
----
Class-Serializer-0.03
http://search.cpan.org/~nilsonsfj/Class-Serializer-0.03/
Serializes the in-memory state of a class into code 
----
Class-XSAccessor-0.13
http://search.cpan.org/~smueller/Class-XSAccessor-0.13/
Generate fast XS accessors without runtime compilation 
----
Class-XSAccessor-Array-0.13
http://search.cpan.org/~smueller/Class-XSAccessor-Array-0.13/
Generate fast XS accessors without runtime compilation 
----
ClearPress-287
http://search.cpan.org/~rpettett/ClearPress-287/
Simple, fresh & fruity MVC framework 
----
Config-IniFiles-2.43
http://search.cpan.org/~shlomif/Config-IniFiles-2.43/
A module for reading .ini-style configuration files. 
----
DBIx-Admin-CreateTable-2.03
http://search.cpan.org/~rsavage/DBIx-Admin-CreateTable-2.03/
A module for creating and dropping tables and sequences 
----
DBIx-Web-0.77
http://search.cpan.org/~makarow/DBIx-Web-0.77/
Active Web Database Layer 
----
DBIx-Web-0.77a
http://search.cpan.org/~makarow/DBIx-Web-0.77a/
Active Web Database Layer 
----
DBIx-Web-0.77b
http://search.cpan.org/~makarow/DBIx-Web-0.77b/
Active Web Database Layer 
----
Data-Util-0.32
http://search.cpan.org/~gfuji/Data-Util-0.32/
A selection of utilities for data and data types 
----
DateTime-Format-CLDR-1.02
http://search.cpan.org/~maros/DateTime-Format-CLDR-1.02/
Parse and format CLDR time patterns 
----
Finance-Card-Citibank-1.81
http://search.cpan.org/~mgrimes/Finance-Card-Citibank-1.81/
Check your Citigroup credit card accounts from Perl 
----
IO-Lambda-0.45
http://search.cpan.org/~karasik/IO-Lambda-0.45/
non-blocking I/O in lambda style 
----
Kamaitachi-0.02
http://search.cpan.org/~typester/Kamaitachi-0.02/
perl flash media server 
----
LWP-Curl-0.03
http://search.cpan.org/~lorn/LWP-Curl-0.03/
LWP methods implementation with Curl engine 
----
Moose-0.62_01
http://search.cpan.org/~drolsky/Moose-0.62_01/
A postmodern object system for Perl 5 
----
Mouse-0.12
http://search.cpan.org/~sartak/Mouse-0.12/
Moose minus the antlers 
----
Net-Amazon-S3-0.48
http://search.cpan.org/~lbrocard/Net-Amazon-S3-0.48/
Use the Amazon S3 - Simple Storage Service 
----
Net-EPP-0.11
http://search.cpan.org/~gbrown/Net-EPP-0.11/
----
Net-Flow-0.04
http://search.cpan.org/~akoba/Net-Flow-0.04/
decode and encode NetFlow/IPFIX datagrams. 
----
Net-Flow-Ie-0.01
http://search.cpan.org/~akoba/Net-Flow-Ie-0.01/
decode NetFlow/IPFIX information elements. 
----
PDL-Graphics-PLplot-0.40
http://search.cpan.org/~dhunt/PDL-Graphics-PLplot-0.40/
Object-oriented interface from perl/PDL to the PLPLOT plotting library 
----
PDL-Graphics-PLplot-0.41
http://search.cpan.org/~dhunt/PDL-Graphics-PLplot-0.41/
Object-oriented interface from perl/PDL to the PLPLOT plotting library 
----
PDL-Graphics-PLplot-0.42
http://search.cpan.org/~dhunt/PDL-Graphics-PLplot-0.42/
Object-oriented interface from perl/PDL to the PLPLOT plotting library 
----
Parse-Eyapp-1.134
http://search.cpan.org/~casiano/Parse-Eyapp-1.134/
Extensions for Parse::Yapp 
----
Pod-Advent-0.09
http://search.cpan.org/~davidrw/Pod-Advent-0.09/
POD Formatter for The Perl Advent Calendar 
----
SOAPjr-1.1.0
http://search.cpan.org/~robman/SOAPjr-1.1.0/
the love child of SOAP and JR (JSON-RPC) 
----
SOAPjr-1.1.1
http://search.cpan.org/~robman/SOAPjr-1.1.1/
the love child of SOAP and JR (JSON-RPC) 
----
SOAPjr-1.1.2
http://search.cpan.org/~robman/SOAPjr-1.1.2/
the love child of SOAP and JR (JSON-RPC) 
----
SWISH-API-Stat-0.05
http://search.cpan.org/~karman/SWISH-API-Stat-0.05/
reconnect to a SWISH::API handle if index file changes 
----
Search-QueryParser-SQL-0.007
http://search.cpan.org/~karman/Search-QueryParser-SQL-0.007/
turn free-text queries into SQL WHERE clauses 
----
Template-Plugin-ForumCode-0.0.4
http://search.cpan.org/~chisel/Template-Plugin-ForumCode-0.0.4/
Template plugin for HTML::ForumCode 
----
Test-Base-0.55
http://search.cpan.org/~ingy/Test-Base-0.55/
A Data Driven Testing Framework 
----
Test-MockDBI-0.62
http://search.cpan.org/~aff/Test-MockDBI-0.62/
Mock DBI interface for testing 
----
Text-Restructured-0.003038
http://search.cpan.org/~nodine/Text-Restructured-0.003038/
Perl implementation of reStructuredText parser 
----
ToolSet-0.99
http://search.cpan.org/~dagolden/ToolSet-0.99/
Load your commonly-used modules in a single import 
----
Web-oEmbed-0.02
http://search.cpan.org/~miyagawa/Web-oEmbed-0.02/
oEmbed consumer 
----
XML-RSS-1.41
http://search.cpan.org/~shlomif/XML-RSS-1.41/
creates and updates RSS files 
----
YAML-0.68
http://search.cpan.org/~ingy/YAML-0.68/
YAML Ain't Markup Language (tm) 
----
YAML-Old-0.81
http://search.cpan.org/~ingy/YAML-Old-0.81/
Old/Classic Perl YAML Module 
----
autodie-1.997
http://search.cpan.org/~pjf/autodie-1.997/
Replace functions with ones that succeed or die with lexical scope 


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: Fri, 05 Dec 2008 05:48:08 GMT
From: sln@netherlands.com
Subject: Re: perl segfault - how to troubleshoot
Message-Id: <ntfhj4hd7b14dsdoboknjogdv8hfn878j1@4ax.com>

On Thu, 04 Dec 2008 20:57:54 -0800, Tim Greer <tim@burlyhost.com> wrote:

>sln@netherlands.com wrote:
>
>
>> Nobody killfiles me,
>
>I do (and will again after this reply -- you can have "the last word").
>I had removed you from my filter to see your post here so I could
>remind you that you said *you* had killfiled me, which you clearly
>didn't.
>
>On Friday 28 November 2008 5:45:38 pm, you stated you had "plonked" me.
>
>http://en.wikipedia.org/wiki/Plonk_(usenet)
>
>If nothing else, at least be a man of your word.
>
>> you just got snookered by some other posters 
>> rhetoric.
>
>Not really.  What other people say they feel (negatively) about you, had
>absolutely no bearing on my act of filtering you.
>
>> They don't killfile me, they never did, they never will. 
>
>I really don't know and don't care.  However, since that's a matter of
>interest, it seems you will never live up to your own word and killfile
>me.  That's fine, but why say you have or will?
>
>> I'm relavent in a slanted way, but more so, a prodigeous implementor.
>> And I laugh it all off anyway.
>
>You're irrelevant.
> 
>> I didn't post to you directly,
>
>I never said you did, I stated your method of quoting and replying to my
>post is confusing and appears as if you were replying to me.  You
>appeared confused.  You then replied to yourself three more times, as
>you very often do on this group.  It's strange behavior, not that I
>care, I just asked why you would out of curiosity.
>
>> but indirectly based on your snippings.
>
>Your reply had nothing to do with my reply to the OP.  You should reply
>to the OP's own posts if you want to reply to them.
> 
>> I guess thats a direct post to not only what your quoting was, but
>> your packaged answer.
>
>You're not making sense.  My response was to their new post and
>question, not to guess about what their problem was.  The man asked how
>to check the drive for errors (on a Linux system), and you went on a
>rant about some basic things you can do in Windows.  It wasn't relevant
>or helpful to them.
>
>> Which is felloneous in this context. It is 
>> mearly a jump point, nothing personal.
>
>I'm not offended, I didn't take it personally.  If you didn't see the
>OP's own posts, your news reader might be broken, or you need a new ISP
>or news server.  Additionally, you said you had kill filed me, yet you
>reply to my posts, and not the OP's own.  That seems odd.
>
>> I never argue with myself.
>
>Odd that you have replied to yourself complaining about your own
>previous posts.  I guess you confused youself with someone else on
>occasion?
>
>> I always asume I know whats best. 
>
>Unfortunate.
>
>> Its a family thing.
>
>A Manson Family thing?
>
>*plonk*

There is just something phoney about you. Your a lightweight with
a big mouth. You parrot the behaviour of the more intellectuals here
but with nothing to back it up with.

Honestly, its you that is unfortunate.

Good luck!

sln


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

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


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