Skip Menu |
 

This queue is for tickets about the CGI-Session CPAN distribution.

Report information
The Basics
Id: 60694
Status: open
Priority: 0/
Queue: CGI-Session

People
Owner: Nobody in particular
Requestors: KAPPA [...] cpan.org
Cc: HSW [...] cpan.org
AdminCc:

Bug Information
Severity: Important
Broken in: 2.2
Fixed in: 2.2



MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
X-Mailer: MIME-tools 5.427 (Entity 5.427)
Content-Disposition: inline
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
Content-Length: 290
Download (untitled) / with headers
text/plain 290b
CGI::Session uses Storable::freeze and thus its sessions are inherently non-portable between differently endian machines. We have a driver that does s/freeze/nfreeze/. It would be simpler and nicer to just have an option to use nfreeze (or even default to it, the overhead is neglible).
From mark [...] summersault.com Tue Aug 24 12: 01:40 2010
MIME-Version: 1.0
X-Spam-Status: No, score=-9.901 tagged_above=-99.9 required=10 tests=[AWL=0.102, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8, SPF_SOFTFAIL=0.596] autolearn=ham
In-Reply-To: <rt-3.8.HEAD-11059-1282665350-1664.60694-4-0 [...] rt.cpan.org>
X-Mailer: Claws Mail 3.7.6 (GTK+ 2.20.0; i486-pc-linux-gnu)
X-Spam-Flag: NO
References: <RT-Ticket-60694 [...] rt.cpan.org> <rt-3.8.HEAD-11059-1282665350-1664.60694-4-0 [...] rt.cpan.org>
X-Virus-Scanned: Debian amavisd-new at bestpractical.com
Message-ID: <20100824120358.3af8a799 [...] summersault.com>
Content-Type: text/plain; charset="utf-8"
X-RT-Original-Encoding: utf-8
X-Spam-Score: -9.901
Received: from localhost (localhost [127.0.0.1]) by hipster.bestpractical.com (Postfix) with ESMTP id 0C416240C0B for <cpan-bug+CGI-Session [...] hipster.bestpractical.com>; Tue, 24 Aug 2010 12:01:40 -0400 (EDT)
Received: from hipster.bestpractical.com ([127.0.0.1]) by localhost (hipster.bestpractical.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 85v-JTXe4Bny for <cpan-bug+CGI-Session [...] hipster.bestpractical.com>; Tue, 24 Aug 2010 12:01:37 -0400 (EDT)
Received: from la.mx.develooper.com (x1.develooper.com [207.171.7.70]) by hipster.bestpractical.com (Postfix) with SMTP id 0E681240BF3 for <bug-CGI-Session [...] rt.cpan.org>; Tue, 24 Aug 2010 12:01:36 -0400 (EDT)
Received: (qmail 27156 invoked by uid 103); 24 Aug 2010 16:04:06 -0000
Received: from x16.dev (10.0.100.26) by x1.dev with QMQP; 24 Aug 2010 16:04:06 -0000
Received: from tanagra.summersault.com (HELO tanagra.summersault.com) (12.161.105.149) by 16.mx.develooper.com (qpsmtpd/0.80) with ESMTP; Tue, 24 Aug 2010 09:04:02 -0700
Received: (qmail 68825 invoked from network); 24 Aug 2010 16:03:59 -0000
Received: from simba.summersault.com (HELO localhost) (192.168.97.182) by tanagra.summersault.com with SMTP; 24 Aug 2010 16:03:59 -0000
Delivered-To: cpan-bug+CGI-Session [...] hipster.bestpractical.com
Subject: Re: [rt.cpan.org #60694] support for nfreeze as an alternative to freeze
Return-Path: <mark [...] summersault.com>
X-Spam-Check-BY: 16.mx.develooper.com
X-Original-To: cpan-bug+CGI-Session [...] hipster.bestpractical.com
X-RT-Mail-Extension: cgi-session
Date: Tue, 24 Aug 2010 12:03:58 -0400
X-Spam-Level:
To: bug-CGI-Session [...] rt.cpan.org
Content-Transfer-Encoding: 7bit
From: Mark Stosberg <mark [...] summersault.com>
RT-Message-ID: <rt-3.8.HEAD-11064-1282665851-71.60694-0-0 [...] rt.cpan.org>
Content-Length: 1158
Download (untitled) / with headers
text/plain 1.1k
On Tue, 24 Aug 2010 11:55:50 -0400 "Alex Kapranoff via RT" <bug-CGI-Session@rt.cpan.org> wrote: Show quoted text
> Tue Aug 24 11:55:49 2010: Request 60694 was acted upon. > Transaction: Ticket created by KAPPA > Queue: CGI-Session > Subject: (No subject given) > Broken in: 2.2 > Severity: Important > Owner: Nobody > Requestors: KAPPA@cpan.org > Status: new > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=60694 > > > > CGI::Session uses Storable::freeze and thus its sessions are inherently > non-portable between differently endian machines. > > We have a driver that does s/freeze/nfreeze/. It would be simpler and > nicer to just have an option to use nfreeze (or even default to it, the > overhead is neglible).
Will changing the default from freeze to nfreeze break anyones code who upgrades and has data that has been frozen with "freeze" instead of "nfreeze" ? Some automated tests that illustrate the safety of that would be helpful. A benchmark of freeze vs. nfreeze would also be helpful. If there is really little overhead and better compatibility, I like the idea of updating it as the default. Mark
MIME-Version: 1.0
In-Reply-To: <rt-3.8.HEAD-11064-1282665851-71.60694-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.427 (Entity 5.427)
References: <RT-Ticket-60694 [...] rt.cpan.org> <rt-3.8.HEAD-11059-1282665350-1664.60694-4-0 [...] rt.cpan.org> <20100824120358.3af8a799 [...] summersault.com> <rt-3.8.HEAD-11064-1282665851-71.60694-0-0 [...] rt.cpan.org>
Content-Type: multipart/mixed; boundary="----------=_1282684266-11057-146"
Message-ID: <rt-3.8.HEAD-11057-1282684266-1876.60694-0-0 [...] rt.cpan.org>
X-RT-Original-Encoding: utf-8
Content-Length: 0
Content-Disposition: inline
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
Content-Length: 1562
Download (untitled) / with headers
text/plain 1.5k
First, there's only one thaw(), so there won't be any problems with thawing nfrozen data versus frozen data. Second, I attach a simple benchmark script. On my boxes nfreeze() ends up being 5-10% slower. Thawing nfrozen data also is 5-10% slower. See for yourself. Втр Авг 24 12:04:11 2010, mark@summersault.com писал: Show quoted text
> On Tue, 24 Aug 2010 11:55:50 -0400 > "Alex Kapranoff via RT" <bug-CGI-Session@rt.cpan.org> wrote: >
> > Tue Aug 24 11:55:49 2010: Request 60694 was acted upon. > > Transaction: Ticket created by KAPPA > > Queue: CGI-Session > > Subject: (No subject given) > > Broken in: 2.2 > > Severity: Important > > Owner: Nobody > > Requestors: KAPPA@cpan.org > > Status: new > > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=60694 > > > > > > > CGI::Session uses Storable::freeze and thus its sessions are
inherently Show quoted text
> > non-portable between differently endian machines. > > > > We have a driver that does s/freeze/nfreeze/. It would be simpler
and Show quoted text
> > nicer to just have an option to use nfreeze (or even default to it,
the Show quoted text
> > overhead is neglible).
> > Will changing the default from freeze to nfreeze break anyones code
who Show quoted text
> upgrades and has data that has been frozen with "freeze" instead of > "nfreeze" ? Some automated tests that illustrate the safety of that > would be helpful. > > A benchmark of freeze vs. nfreeze would also be helpful. If there is > really little overhead and better compatibility, I like the idea of > updating it as the default. > > Mark
MIME-Version: 1.0
Subject: serialize.pl
X-Mailer: MIME-tools 5.427 (Entity 5.427)
Content-Type: application/octet-stream; name="serialize.pl"
Content-Disposition: inline; filename="serialize.pl"
Content-Transfer-Encoding: base64
Content-Length: 253
Download serialize.pl
text/x-perl 253b
#!/usr/bin/perl use strict; use warnings; use Storable; use Benchmark qw/timethese/; my $data = { id => "ds" x 40 }; timethese(300000, { freeze => sub { Storable::freeze($data) }, nfreeze => sub { Storable::nfreeze($data) }, });
From mark [...] summersault.com Wed Aug 25 09: 12:25 2010
MIME-Version: 1.0
X-Spam-Status: No, score=-9.908 tagged_above=-99.9 required=10 tests=[AWL=0.095, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8, SPF_SOFTFAIL=0.596] autolearn=ham
In-Reply-To: <rt-3.8.HEAD-11057-1282684266-1768.60694-5-0 [...] rt.cpan.org>
X-Mailer: Claws Mail 3.7.6 (GTK+ 2.20.0; i486-pc-linux-gnu)
X-Spam-Flag: NO
References: <RT-Ticket-60694 [...] rt.cpan.org> <rt-3.8.HEAD-11059-1282665350-1664.60694-4-0 [...] rt.cpan.org> <20100824120358.3af8a799 [...] summersault.com> <rt-3.8.HEAD-11064-1282665851-71.60694-5-0 [...] rt.cpan.org> <rt-3.8.HEAD-11057-1282684266-1768.60694-5-0 [...] rt.cpan.org>
X-Virus-Scanned: Debian amavisd-new at bestpractical.com
Message-ID: <20100825091449.54e41191 [...] summersault.com>
Content-Type: text/plain; charset="utf-8"
X-RT-Original-Encoding: utf-8
X-Spam-Score: -9.908
Received: from localhost (localhost [127.0.0.1]) by hipster.bestpractical.com (Postfix) with ESMTP id B177A240C3B for <cpan-bug+CGI-Session [...] hipster.bestpractical.com>; Wed, 25 Aug 2010 09:12:25 -0400 (EDT)
Received: from hipster.bestpractical.com ([127.0.0.1]) by localhost (hipster.bestpractical.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vhkAt57JPUVB for <cpan-bug+CGI-Session [...] hipster.bestpractical.com>; Wed, 25 Aug 2010 09:12:24 -0400 (EDT)
Received: from la.mx.develooper.com (x1.develooper.com [207.171.7.70]) by hipster.bestpractical.com (Postfix) with SMTP id 9CED5240C3A for <bug-CGI-Session [...] rt.cpan.org>; Wed, 25 Aug 2010 09:12:23 -0400 (EDT)
Received: (qmail 15455 invoked by uid 103); 25 Aug 2010 13:14:54 -0000
Received: from x16.dev (10.0.100.26) by x1.dev with QMQP; 25 Aug 2010 13:14:54 -0000
Received: from tanagra.summersault.com (HELO tanagra.summersault.com) (12.161.105.149) by 16.mx.develooper.com (qpsmtpd/0.80) with ESMTP; Wed, 25 Aug 2010 06:14:53 -0700
Received: (qmail 24818 invoked from network); 25 Aug 2010 13:14:49 -0000
Received: from simba.summersault.com (HELO localhost) (192.168.97.182) by tanagra.summersault.com with SMTP; 25 Aug 2010 13:14:49 -0000
Delivered-To: cpan-bug+CGI-Session [...] hipster.bestpractical.com
Subject: Re: [rt.cpan.org #60694] Serialized sessions are non-portable between architectures
Return-Path: <mark [...] summersault.com>
X-Spam-Check-BY: 16.mx.develooper.com
X-Original-To: cpan-bug+CGI-Session [...] hipster.bestpractical.com
X-RT-Mail-Extension: cgi-session
Date: Wed, 25 Aug 2010 09:14:49 -0400
X-Spam-Level:
To: bug-CGI-Session [...] rt.cpan.org
Content-Transfer-Encoding: 7bit
From: Mark Stosberg <mark [...] summersault.com>
RT-Message-ID: <rt-3.8.HEAD-11064-1282742098-247.60694-0-0 [...] rt.cpan.org>
Content-Length: 617
Download (untitled) / with headers
text/plain 617b
On Tue, 24 Aug 2010 17:11:07 -0400 "Alex Kapranoff via RT" <bug-CGI-Session@rt.cpan.org> wrote: Show quoted text
> Queue: CGI-Session > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=60694 > > > First, there's only one thaw(), so there won't be any problems with > thawing nfrozen data versus frozen data. > > Second, I attach a simple benchmark script. On my boxes nfreeze() ends > up being 5-10% slower. > > Thawing nfrozen data also is 5-10% slower. See for yourself.
Great. Thanks for that research. It sounds like switching nfreeze is a reasonable choice then, given how fast computers are now. Mark
From kapranoff [...] gmail.com Wed Aug 25 09: 58:55 2010
CC: KAPPA [...] cpan.org, HSW [...] cpan.org
MIME-Version: 1.0
X-Spam-Status: No, score=-6.255 tagged_above=-99.9 required=10 tests=[AWL=3.657, BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-8, SPF_NEUTRAL=0.686] autolearn=ham
In-Reply-To: <rt-3.8.HEAD-11064-1282742098-1517.60694-6-0 [...] rt.cpan.org>
X-Spam-Flag: NO
References: <RT-Ticket-60694 [...] rt.cpan.org> <rt-3.8.HEAD-11059-1282665350-1664.60694-4-0 [...] rt.cpan.org> <20100824120358.3af8a799 [...] summersault.com> <rt-3.8.HEAD-11064-1282665851-71.60694-5-0 [...] rt.cpan.org> <rt-3.8.HEAD-11057-1282684266-1768.60694-5-0 [...] rt.cpan.org> <20100825091449.54e41191 [...] summersault.com> <rt-3.8.HEAD-11064-1282742098-1517.60694-6-0 [...] rt.cpan.org>
X-Virus-Checked: Checked by ClamAV on 16.mx.develooper.com
X-Virus-Scanned: Debian amavisd-new at bestpractical.com
Message-ID: <AANLkTim0pFcDc82jiECdWvjR5=qLraAZFVmBrGsbP1yF [...] mail.gmail.com>
Content-Type: multipart/alternative; boundary=0016364d1fafdb214b048ea650fe
X-Spam-Score: -6.255
Authentication-Results: hipster.bestpractical.com (amavisd-new); dkim=pass header.i= [...] gmail.com
Authentication-Results: hipster.bestpractical.com (amavisd-new); domainkeys=pass header.from=kapranoff [...] gmail.com
Received: from localhost (localhost [127.0.0.1]) by hipster.bestpractical.com (Postfix) with ESMTP id 2B0AA240B54 for <cpan-bug+CGI-Session [...] hipster.bestpractical.com>; Wed, 25 Aug 2010 09:58:55 -0400 (EDT)
Received: from hipster.bestpractical.com ([127.0.0.1]) by localhost (hipster.bestpractical.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id geDwUuDTfhaj for <cpan-bug+CGI-Session [...] hipster.bestpractical.com>; Wed, 25 Aug 2010 09:58:53 -0400 (EDT)
Received: from la.mx.develooper.com (x1.develooper.com [207.171.7.70]) by hipster.bestpractical.com (Postfix) with SMTP id 115A7240B4D for <bug-CGI-Session [...] rt.cpan.org>; Wed, 25 Aug 2010 09:58:52 -0400 (EDT)
Received: (qmail 22423 invoked by uid 103); 25 Aug 2010 14:01:24 -0000
Received: from x16.dev (10.0.100.26) by x1.dev with QMQP; 25 Aug 2010 14:01:24 -0000
Received: from mail-bw0-f50.google.com (HELO mail-bw0-f50.google.com) (209.85.214.50) by 16.mx.develooper.com (qpsmtpd/0.80) with ESMTP; Wed, 25 Aug 2010 07:01:22 -0700
Received: by bwz17 with SMTP id 17so536378bwz.9 for <bug-CGI-Session [...] rt.cpan.org>; Wed, 25 Aug 2010 07:01:19 -0700 (PDT)
Received: by 10.103.49.13 with SMTP id b13mr163960muk.38.1282744879095; Wed, 25 Aug 2010 07:01:19 -0700 (PDT)
Received: by 10.103.189.15 with HTTP; Wed, 25 Aug 2010 07:00:58 -0700 (PDT)
Delivered-To: cpan-bug+CGI-Session [...] hipster.bestpractical.com
Subject: Re: [rt.cpan.org #60694] Serialized sessions are non-portable between architectures
Domainkey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; b=O5WHdpxAdgQx3rj1+Anzy0y/3S+xq8DYl4qWh/O1sAv07ZnoM0KE7T3uNrruBsgKIH 4/KbIiJEWdz8m/WSRPAb4WEzc78mZH+sy1XCkR8TFbLOn6aJapfTJXR4WL97J9h8lk/J eKIUAUjRmbjSwfLjbnhtlS7B72ad3GGfMizSs=
Return-Path: <kapranoff [...] gmail.com>
Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:received:in-reply-to :references:from:date:message-id:subject:to:cc:content-type; bh=vSZvn8vCH8cLGDCJoPny6vFCfqLAJDS2/Fcqe3pK3FI=; b=Jd46v3EBpJWBhm1bTGJOEdZLD6Weyu/495us6ERF26x7uU1xAPZciFmYq6hM9UzMUg 4TNiYa/LO9q3hwDWbjwI9anfrsBC+GfFlPJN3D9jI9+gLc4DBZ79dAK7nBzzWGcZ3/Lp lnNmBCTXSpzZmSD7vUp0XA48T6+Of8yIbqjUU=
X-Spam-Check-BY: 16.mx.develooper.com
X-Original-To: cpan-bug+CGI-Session [...] hipster.bestpractical.com
X-RT-Mail-Extension: cgi-session
Date: Wed, 25 Aug 2010 18:00:58 +0400
X-Spam-Level:
To: bug-CGI-Session [...] rt.cpan.org
From: Alex Kapranoff <kapranoff [...] gmail.com>
RT-Message-ID: <rt-3.8.HEAD-11057-1282744887-750.60694-0-0 [...] rt.cpan.org>
Content-Length: 0
Content-Type: text/plain; charset=UTF-8
X-RT-Original-Encoding: utf-8
Content-Length: 965
Download (untitled) / with headers
text/plain 965b
Actually, I think that losing even 5% may hurt some people. I would vote for an option to sacrifice portability for extra bit of speed. -- Alex Kapranoff. On Wed, Aug 25, 2010 at 17:14, mark@summersault.com via RT < bug-CGI-Session@rt.cpan.org> wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=60694 > > > On Tue, 24 Aug 2010 17:11:07 -0400 > "Alex Kapranoff via RT" <bug-CGI-Session@rt.cpan.org> wrote: >
> > Queue: CGI-Session > > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=60694 > > > > > First, there's only one thaw(), so there won't be any problems with > > thawing nfrozen data versus frozen data. > > > > Second, I attach a simple benchmark script. On my boxes nfreeze() ends > > up being 5-10% slower. > > > > Thawing nfrozen data also is 5-10% slower. See for yourself.
> > Great. Thanks for that research. It sounds like switching nfreeze is a > reasonable choice then, given how fast computers are now. > > Mark > >
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-RT-Original-Encoding: utf-8
Content-Length: 1634
MIME-Version: 1.0
In-Reply-To: <rt-3.8.HEAD-11057-1282744887-750.60694-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.427 (Entity 5.427)
Content-Disposition: inline
References: <RT-Ticket-60694 [...] rt.cpan.org> <rt-3.8.HEAD-11059-1282665350-1664.60694-4-0 [...] rt.cpan.org> <20100824120358.3af8a799 [...] summersault.com> <rt-3.8.HEAD-11064-1282665851-71.60694-5-0 [...] rt.cpan.org> <rt-3.8.HEAD-11057-1282684266-1768.60694-5-0 [...] rt.cpan.org> <20100825091449.54e41191 [...] summersault.com> <rt-3.8.HEAD-11064-1282742098-1517.60694-6-0 [...] rt.cpan.org> <AANLkTim0pFcDc82jiECdWvjR5=qLraAZFVmBrGsbP1yF [...] mail.gmail.com> <rt-3.8.HEAD-11057-1282744887-750.60694-0-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="UTF-8"
Message-ID: <rt-3.8.HEAD-11064-1282746556-1158.60694-0-0 [...] rt.cpan.org>
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
Content-Length: 331
Download (untitled) / with headers
text/plain 331b
We rerun benchmarks and figured out that on most of the boxes the difference is even smaller than 5% (more like 1-3%). Срд Авг 25 10:01:27 2010, kapranoff@gmail.com писал: Show quoted text
> Actually, I think that losing even 5% may hurt some people. I would
vote for Show quoted text
> an option to sacrifice portability for extra bit of speed. >
MIME-Version: 1.0
In-Reply-To: <rt-3.8.HEAD-11064-1282742098-247.60694-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.504 (Entity 5.504)
X-RT-Interface: Web
References: <RT-Ticket-60694 [...] rt.cpan.org> <rt-3.8.HEAD-11059-1282665350-1664.60694-4-0 [...] rt.cpan.org> <20100824120358.3af8a799 [...] summersault.com> <rt-3.8.HEAD-11064-1282665851-71.60694-5-0 [...] rt.cpan.org> <rt-3.8.HEAD-11057-1282684266-1768.60694-5-0 [...] rt.cpan.org> <20100825091449.54e41191 [...] summersault.com> <rt-3.8.HEAD-11064-1282742098-247.60694-0-0 [...] rt.cpan.org>
Content-Type: multipart/mixed; boundary="----------=_1444156932-8696-2"
Message-ID: <rt-4.0.18-8696-1444156931-1713.60694-0-0 [...] rt.cpan.org>
X-RT-Original-Encoding: utf-8
X-RT-Encrypt: 0
X-RT-Sign: 0
Content-Length: 0
Content-Disposition: inline
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
Content-Length: 792
Download (untitled) / with headers
text/plain 792b
25 Ağu 2010 Çrş, 09:14:58 tarihinde, mark@summersault.com yazdı: Show quoted text
> On Tue, 24 Aug 2010 17:11:07 -0400 > "Alex Kapranoff via RT" <bug-CGI-Session@rt.cpan.org> wrote: >
> > Queue: CGI-Session > > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=60694 > > > > > First, there's only one thaw(), so there won't be any problems with > > thawing nfrozen data versus frozen data. > > > > Second, I attach a simple benchmark script. On my boxes nfreeze() ends > > up being 5-10% slower. > > > > Thawing nfrozen data also is 5-10% slower. See for yourself.
> > Great. Thanks for that research. It sounds like switching nfreeze is a > reasonable choice then, given how fast computers are now. > > Mark
The suggestion is still relevant. I am attaching the simplest patch.
MIME-Version: 1.0
Subject: patch-nfreeze
X-Mailer: MIME-tools 5.504 (Entity 5.504)
Content-Type: application/octet-stream; name="patch-nfreeze"
Content-Disposition: inline; filename="patch-nfreeze"
Content-Transfer-Encoding: base64
Content-Length: 281
Download patch-nfreeze
application/octet-stream 281b

Message body not shown because it is not plain text.



This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.