[comp.sources.d] Perl 3.0, do function

ron@woan.austin.ibm.com (Ronald S. Woan) (11/11/89)

I was trying out the IPC facility in Perl by typing in the sample given in
the man pages. Unfortunately, Perl could not complete the:
	do "sys/socket.h"
statement on my machine because the regexp choked on the comments imbedded
in structure definitions, i.e.
	struct msghdr {
		caddr_t msgname;	/* optional address */
		.
		.
	}
Perl crokes with a "?+* follows nothing in regexp at ..." pointing at
the "/* optional address */" comment above. Is this a bug? Anyways, just
thought that I would mention it. I get around this by maintaining a
seperate include file for Perl with these structures edited out.

					Ron

+-----All Views Expressed Are My Own And Are Not Necessarily Shared By------+
+------------------------------My Employer----------------------------------+
+ Ronald S. Woan  (IBM VNET)WOAN AT AUSTIN, (AUSTIN)ron@woan.austin.ibm.com +
+ outside of IBM       @cs.utexas.edu:ibmaus!auschs!woan.austin.ibm.com!ron +
+ last resort                                        woan@peyote.cactus.org +

lwall@jpl-devvax.JPL.NASA.GOV (Larry Wall) (11/11/89)

In article <853@awdprime.UUCP> @cs.utexas.edu:ibmaus!auschs!woan.austin.ibm.com!ron writes:
: I was trying out the IPC facility in Perl by typing in the sample given in
: the man pages. Unfortunately, Perl could not complete the:
: 	do "sys/socket.h"
: statement on my machine because the regexp choked on the comments imbedded
: in structure definitions, i.e.
: 	struct msghdr {
: 		caddr_t msgname;	/* optional address */
: 		.
: 		.
: 	}

When the man page says to do "something.h", it means for you to include
a file from the *perl* library which has been translated from the corresponding
C include file by the program makelib.  Perl doesn't grok C code.

makelib isn't completely done yet--it's good enough for defined constants,
but definitions that depend on the size of a type aren't correct yet.

Larry Wall
lwall@jpl-devvax.jpl.nasa.gov