perl-Devel-SawAmpersand - parse reports to from various sources

Property Value
Distribution ALT Linux Sisyphus
Repository Autoimports i586
Package filename perl-Devel-SawAmpersand-0.33-alt4.1.i586.rpm
Package name perl-Devel-SawAmpersand
Package version 0.33
Package release alt4.1
Package architecture i586
Package type rpm
Category Development/Perl
Homepage -
License -
Maintainer -
Download size 20.01 KB
Installed size 20.01 KB
This module provides one single function:.
=item $bool = Devel::SawAmpersand::sawampersand()
Returns a true value if the compiled code has the C-level global
variable PL_sawampersand set.
There's a global variable in the perl source, called PL_sawampersand.
It gets set to true in that moment in which the parser sees one of $`,
$', and $&. It never can be set to false again. Trying to set it to
false breaks the handling of the $`, $&, and $' completely.
If the global variable `PL_sawampersand' is set to true, all
subsequent RE operations will be accompanied by massive in-memory
copying, because there is nobody in the perl source who could predict,
when the (necessary) copy for the ampersand family will be needed.
So all subsequent REs are considerable slower than necessary.
There are at least three impacts for developers:
=over 4
=item *
never use $& and friends in a library. Use /p if you have perl 5.10 or later.
=item *
Don't "use English" in a library, because it contains the three bad
fellows. Corollary: if you really want to use English, do it like so:
use English qw( -no_match_vars ) ;
=item *
before you release a module or program, check
if PL_sawampersand is set by any of the modules you use or require.


Package Version Architecture Repository
perl-Devel-SawAmpersand-0.33-alt4.1.x86_64.rpm 0.33 x86_64 Autoimports
perl-Devel-SawAmpersand - - -


Name Value
/usr/lib/perl5 - - -
rpmlib(PayloadIsLzma) -
rpmlib(SetVersions) -
rtld(GNU_HASH) -


Name Value
perl(B/ = 0.040
perl(Devel/ -
perl(Devel/ = 0.330
perl-Devel-SawAmpersand = 0.33-alt4.1


Type URL
Binary Package perl-Devel-SawAmpersand-0.33-alt4.1.i586.rpm
Source Package perl-Devel-SawAmpersand-0.33-alt4.1.src.rpm

Install Howto

  1. Add the following line to /etc/apt/sources.list:
    rpm [Sisyphus] i586 autoimports
    rpm [Sisyphus] noarch autoimports
  2. Update the package index:
    # sudo apt-get update
  3. Install perl-Devel-SawAmpersand rpm package:
    # sudo apt-get install perl-Devel-SawAmpersand



See Also

Package Description
perl-Devel-SlowBless-0.06-alt4.1.i586.rpm Perl extension for identifying code that causes bless
perl-Devel-Unstate-0.01-alt3.1.i586.rpm Disable 'state' keyword statelessness
perl-Devel-Unwind-0.013-alt3.1.i586.rpm What if you could die to a labeled eval?
perl-Devel-bt-0.06-alt4.1.i586.rpm Automatic gdb backtraces on errors
perl-Devel-cst-0.010-alt3.1.i586.rpm C stacktraces for GNU systems
perl-Device-Arduino-LCD-1.02-alt4.1.i586.rpm Perl Interface to the PerLCD Arduino Sketch
perl-Device-Cdio-v2.0.0-alt2_4.i586.rpm Module for CD Input and Control library
perl-Device-DSE-Q1573-0.7-alt4.1.i586.rpm Read from DSE Q1573 / Metex Me-22 DMM
perl-Device-Davis-1.2.3-alt4.1.i586.rpm Perl extension for communicating with Davis weather stations
perl-Device-FTDI-0.14-alt1.1.i586.rpm perl extension to talk to FTDI chips
perl-Device-I2C-0.06-alt3.1.i586.rpm Control and read hardware devices with i2c(SMBus)
perl-Device-LaCrosse-WS23xx-0.10-alt3.1.i586.rpm read data from La Crosse weather station
perl-Device-ParallelPort-drv-parport-1.0-alt4.1.i586.rpm perl module Device-ParallelPort-drv-parport
perl-Device-SMBus-1.15-alt3.1.i586.rpm Perl interface for smbus using libi2c-dev library
perl-Device-Serdisp-0.06-alt4.1.i586.rpm Perl extension for talking to the serdisplib