Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Mar 2002 22:10:01 -0800 (PST)
From:      parv <parv_@yahoo.com>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: misc/35952: perl 5 broken in 4.5 RELEASE
Message-ID:  <200203160610.g2G6A1Y99684@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR misc/35952; it has been noted by GNATS.

From: parv <parv_@yahoo.com>
To: "Michael R. Wayne" <wayne@staff.msen.com>
Cc: freebsd-gnats-submit@FreeBSD.org
Subject: Re: misc/35952: perl 5 broken in 4.5 RELEASE
Date: Sat, 16 Mar 2002 01:02:59 -0500

 in message <200203160432.g2G4Wiw20804@freefall.freebsd.org>,
 wrote Michael R. Wayne thusly...
 >
 > 
 > >Number:         35952
 > >Category:       misc
 > >Synopsis:       perl 5 broken in 4.5 RELEASE
 ...
 > >Description:
 > This simple perl script illustrates the problem:
 > #!/usr/bin/perl
 > $e = 3;
 > print "e: $e\n";
 > ($e < 98) ? $e += 2000 : $e += 1900;
 > print "e: $e\n";
 
 from "perldoc perlop"...
 
      Conditional Operator
      ...
      Because this operator produces an assignable result, using
      assignments without parentheses will get you in trouble.
      For example, this:
 
          $a % 2 ? $a += 10 : $a += 2
 
      Really means this:
 
          (($a % 2) ? ($a += 10) : $a) += 2
 
      Rather than this:
 
          ($a % 2) ? ($a += 10) : ($a += 2)
 
      That should probably be written more simply as:
 
          $a += ($a % 2) ? 10 : 2;
 
 
 ...so you should try this...
 
   $e += ($e < 98) ? 2000 : 1900;
 

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200203160610.g2G6A1Y99684>