Tech Insider					     Technology and Trends


			      USENET Archives

From: poe@daimi.aau.dk (Peter Orbaek)
Newsgroups: comp.lang.perl,alt.os.linux
Subject: Perl 4.019 on Linux 0.12, problems with $&...
Keywords: perl, $&, length
Date: 4 Feb 92 16:00:24 GMT
Organization: DAIMI: Computer Science Department, Aarhus University, Denmark

I'm attempting to get perl up and running on my 386/33 running linux 0.12,
using gcc 1.40 (the compiler that comes with linux).

After getting through configure, and doing various small hacks in the
makefile, I have got it to compile cleanly, except for minor warnings about
return-types of getgrgid() and such.

But problems arise when I run the test-suite. First I must say that floating
point support on linux is fairly bad, so I get several failed tests because
sprintf prints - for instance - 12 as 11.99999999997.

This can be remedied by compiling with these options, in effect making an
"integer-perl":

	-Ddouble=int -Datof=atoi -DINT_PERL

and then doing some minor hacks in str.c and dolist.c to get proper conversions
from ints to strings, and removing packing of floats and doubles.

With these hacks I get fewer failed tests than with the original floatin-point
perl.

BUT , in both cases the produced perl fails on tests:  op/pat 28,29,30

I seems that $& doesn't get set correctly. Why can this happen??
This problem also affects several other tests.
At least in op/pat test #28 $& is set to the empty string or null...

Another failure that seems to occur only with "integer-perl" is that the
test: comp/< something...> fails, due to length('\\\\') not returning 2
or, more accurately:

(length('\\\\') == 2)   ==> false

but

$x = length('\\\\'); print $x;	==> prints 2

and

print length('\\\\'); 	==> prints 2

I have tried these things both with and without the perl-malloc if that
matters.


Suggestions anyone?


Thanks in advance.

	- Peter (poe@daimi.aau.dk)
--
Peter Orbaek ----------------- poe@daimi.aau.dk  |      ///
Hasle Ringvej 122, DK-8200 Aarhus N, DENMARK     |     ///
                                                 | \\\///
"Strong typing is for people with weak memories" |  \XX/

From: poe@daimi.aau.dk (Peter Orbaek)
Newsgroups: alt.os.linux
Subject: od(1) in Perl
Keywords: perl, od, linux commands
Date: 11 Feb 92 12:28:49 GMT
Organization: DAIMI: Computer Science Department, Aarhus University, Denmark

Here is a small Perl script that implements the od(1) command. I admit that
it suffers a bit from featuritis :-)


   - Peter (poe@daimi.aau.dk)

--- snip snip ---
#!/usr/local/bin/perl

# od.pl - poe@daimi.aau.dk, do not copyright

require 'getopt.pl';

&Getopt('w');

sub usage {
	print STDERR "Usage: $0 [-acdghox] [-w width] [file...]\n";
	exit(1);
}

&usage if $opt_h;

$w = $opt_w ? $opt_w : 16;

if($opt_g) {
	$w = $w > 14 ? 14 : $w;
	$fmt = "%4x: " . ("%02x  " x $w);
	$fmt2 = ("%1s" x $w) . "\n";
} elsif($opt_x) {
	$fmt = "%4x: " . ("%02x  " x $w) . "\n";
} elsif($opt_d) {
	$fmt = "%4d: " . ("%3d " x $w) . "\n";
} else {
	$fmt = "%4x: " . ("%03o " x $w) . "\n";
}

if($opt_a || $opt_c) {
	$fmt2 = "      " . ("%1s   " x $w) . "\n";
}

if($#ARGV < 0) {
	$ARGV[0] = "<&STDIN";
}

while($file = shift @ARGV) {
	open(FILE, $file) || next;
	print $file, ":\n";
	$pos = 0;

	while(read(FILE, $buf, $w) > 0) {
		@bytes = unpack("C$w", $buf);
		@chars = ();
		for (@bytes) {
			if($_ < 32 || $_ > 126) {
				push(@chars, '.');
			} else {
				push(@chars, pack("C", $_));
			}
		}
		if($opt_a || $opt_c || $opt_g) {
			printf($fmt, $pos, @bytes);
			printf($fmt2, @chars);
		} else {
			printf($fmt, $pos, @bytes);
		}
		$pos += $w;
	}
	$| = 1; print ""; $| = 0;
	close FILE;
}


--
Peter Orbaek ----------------- poe@daimi.aau.dk  |      ///
Hasle Ringvej 122, DK-8200 Aarhus N, DENMARK     |     ///
                                                 | \\\///
"Strong typing is for people with weak memories" |  \XX/

			        About USENET

USENET (Users’ Network) was a bulletin board shared among many computer
systems around the world. USENET was a logical network, sitting on top
of several physical networks, among them UUCP, BLICN, BERKNET, X.25, and
the ARPANET. Sites on USENET included many universities, private companies
and research organizations. See USENET Archives.

		       SCO Files Lawsuit Against IBM

March 7, 2003 - The SCO Group filed legal action against IBM in the State 
Court of Utah for trade secrets misappropriation, tortious interference, 
unfair competition and breach of contract. The complaint alleges that IBM 
made concentrated efforts to improperly destroy the economic value of 
UNIX, particularly UNIX on Intel, to benefit IBM's Linux services 
business. See SCO v IBM.

The materials and information included in this website may only be used
for purposes such as criticism, review, private study, scholarship, or
research.

Electronic mail:			       WorldWideWeb:
   tech-insider@outlook.com			  http://tech-insider.org/