bob@dhw68k.cts.com (Bob Best) (03/22/88)
The following perl test script manifests bugs when executed under patchlevel 29 as compiled to run under SCO Xenix 386 V2.2.2. The bugs are evident in the output that follows the script listing. Tests 1a,b,c clearly indicate that perl is not properly handling the assignment operation as applied to strings using the same variable on both sides of the '=' sign. Notice that the bug is eliminated by concatenation of a null string either before or after the test string expression. #!./perl # op.assign - test assignment using same variable left and right of '=' $x = "dog"; $x = "#1a\t:$x: eq :dog:\n"; print $x; $x = "dog"; $x = ""."#1b\t:$x: eq :dog:\n"; print $x; $x = "dog"; $x = "#1c\t:$x: eq :dog:\n".""; print $x; $x = "dog"; $x = "#2\t:"."$x".": eq :dog:\n"; print $x; $x = "dog"; $x = "#3\t:"."$x: eq :dog:\n"; print $x; $x = "dog"; $x = "#4\t:$x".": eq :dog:\n"; print $x; $x = "dog"; $x = "#5\t:".$x.": eq :dog:\n"; print $x; $x = "dog"; $y = "dog"; $x = "#6a\t:$x: eq :$y:\n"; print $x; $x = "dog"; $y = "dog"; $y = "#6b\t:$x: eq :$y:\n"; print $y; $x = "dog"; $y = "dog"; $y = "#6c\t:$x: e"."q :$y:\n"; print $y; $x = "dog"; $y = "#7\t:"; $z = ": eq :dog:\n"; $x = "$y"."$x"."$z"; print $x; $x = "dog"; $y = "#8\t:"; $z = ": eq :dog:\n"; $x = $y.$x.$z; print $x; $x = "dog"; $y = "#9\t:"; $z = ": eq :dog:\n"; $x = "$y$x$z"; print $x; $x = "dog"; $y = "#10\t:"; $z = ": eq :dog:\n"; $x = "$y$x"."$z"; print $x; $x = "dog"; $y = "#11\t:"; $z = ": eq :dog:\n"; $x = "$y"."$x$z"; print $x; $x = "dog"; $y = "#12\t:"; $z = ": eq :dog:\n"; $x = "$y"."$x"."$z"; print $x; $x = "dog"; print "#13\t:"; print $x; print ": eq :dog:\n"; $x = "dog"; $x = "$x"; print "#14\t:"; print $x; print ": eq :dog:\n"; $x = "dog"; $x = "$x".""; print "#15\t:"; print $x; print ": eq :dog:\n"; $x = "dog"; $x = ""."$x"; print "#16\t:"; print $x; print ": eq :dog:\n"; This is the output produced by running the script under perl patchlevel 29. #1a :#1a :: eq :dog: #1b :dog: eq :dog: #1c :dog: eq :dog: #2 :dog: eq :dog: #3 :dog: eq :dog: #4 :dog: eq :dog: #5 :dog: eq :dog: #6a :#6a :: eq :dog: #6b :dog: eq :#6b :dog: eq :: #6c :dog: eq :dog: #7 :dog: eq :dog: #8 :dog: eq :dog: #9 :#9 :: eq :dog: #10 :dog: eq :dog: #11 :dog: eq :dog: #12 :dog: eq :dog: #13 :dog: eq :dog: #14 :: eq :dog: #15 :dog: eq :dog: #16 :dog: eq :dog: -- Bob Best uucp: ...{trwrb,hplabs}!felix!dhw68k!bob InterNet: bob@dhw68k.cts.com
darragh@maths.tcd.ie (Darragh Delaney) (12/07/89)
I was wondering if anyone out there might perhaps have parts 20-24 of the recent posting of Perl on the unix sources newsgroup as it never arrived here (please don't suggest ftp-ing to an archive site as I can't) thanx and ciao Filo. --------------------------------------------------------------- Darragh J. Delany, darragh@maths.tcd.ie Dept. of Computer Science, Trinity College, Dublin, Rep. of Ireland