From martinezcindy@example.org Wed Nov 1 18:52:25 2000 Return-Path: <martinezcindy@example.org> Mailing-List: contact martinezcindy@example.org; run by ezmlm Delivered-To: mailing list martinezcindy@example.org Received: (qmail 12917 invoked from network); 1 Nov 2000 18:52:25 -0000 Received: from unknown (HELO conveyor.jetstream.com) (83.161.120.155) by locus.apache.org with SMTP; 1 Nov 2000 18:52:25 -0000 Received: by mail.jetstream.com with Internet Mail Service (5.5.2650.21) id <VH1NCNTC>; Wed, 1 Nov 2000 10:50:35 -0800 Message-ID: <martinezcindy@example.org> From: Jeff Jenkins <martinezcindy@example.org> To: "'martinezcindy@example.org'" <martinezcindy@example.org> Subject: Building mod_jserv.so Date: Wed, 1 Nov 2000 10:50:26 -0800 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2650.21) Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C04434.9CC43E4E" X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_001_01C04434.9CC43E4E Content-Type: text/plain; charset="iso-8859-1" I am trying to build mod_jserv.so per instructions in tomcat_ug.html. I change directory into jakarta-tomcat/src/native/apache/jserv and execute apxs -c *.c -o mod_jserv.so It compiles and then looks like it is trying to link, but stops with the following information: apxs:Break: Command failed with rc=16711680 Any ideas what I am missing? -- jrj ------_=_NextPart_001_01C04434.9CC43E4E Content-Type: text/html; charset="iso-8859-1" <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <META content="MSHTML 5.00.2919.6307" name=GENERATOR></HEAD> <BODY> <DIV><FONT face=Arial size=2><SPAN class=609544618-01112000>I am trying to build mod_jserv.so per instructions in tomcat_ug.html.</SPAN></FONT></DIV> <DIV><FONT face=Arial size=2><SPAN class=609544618-01112000>I change directory into jakarta-tomcat/src/native/apache/jserv and execute </SPAN></FONT></DIV> <DIV><FONT face=Arial size=2><SPAN class=609544618-01112000></SPAN></FONT>&nbsp;</DIV> <DIV><FONT face=Arial size=2><SPAN class=609544618-01112000>apxs -c *.c -o mod_jserv.so</SPAN></FONT></DIV> <DIV><FONT face=Arial size=2><SPAN class=609544618-01112000></SPAN></FONT>&nbsp;</DIV> <DIV><FONT face=Arial size=2><SPAN class=609544618-01112000>It compiles and then looks like it is trying to link, but stops with the following information:</SPAN></FONT></DIV> <DIV><FONT face=Arial size=2><SPAN class=609544618-01112000></SPAN></FONT>&nbsp;</DIV> <DIV><FONT face=Arial size=2><SPAN class=609544618-01112000>apxs:Break: Command failed with rc=16711680</SPAN></FONT></DIV> <DIV><FONT face=Arial size=2><SPAN class=609544618-01112000></SPAN></FONT>&nbsp;</DIV> <DIV><FONT face=Arial size=2><SPAN class=609544618-01112000>Any ideas what I am missing?</SPAN></FONT></DIV> <DIV><FONT face=Arial size=2><SPAN class=609544618-01112000></SPAN></FONT>&nbsp;</DIV> <DIV><FONT face=Arial size=2><SPAN class=609544618-01112000>-- jrj</SPAN></FONT></DIV> <DIV>&nbsp;</DIV></BODY></HTML> ------_=_NextPart_001_01C04434.9CC43E4E-- From martinezcindy@example.org Wed Nov 1 18:58:04 2000 Return-Path: <martinezcindy@example.org> Mailing-List: contact martinezcindy@example.org; run by ezmlm Delivered-To: mailing list martinezcindy@example.org Received: (qmail 21996 invoked from network); 1 Nov 2000 18:58:04 -0000 Received: from unknown (HELO conveyor.jetstream.com) (83.161.120.155) by locus.apache.org with SMTP; 1 Nov 2000 18:58:04 -0000 Received: by mail.jetstream.com with Internet Mail Service (5.5.2650.21) id <VH1NCNT8>; Wed, 1 Nov 2000 10:56:14 -0800 Message-ID: <martinezcindy@example.org> From: Jeff Jenkins <martinezcindy@example.org> To: "'martinezcindy@example.org'" <martinezcindy@example.org> Subject: RE: Building mod_jserv.so Date: Wed, 1 Nov 2000 10:56:13 -0800 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2650.21) Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C04435.67D9CC7A" X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_001_01C04435.67D9CC7A Content-Type: text/plain; charset="iso-8859-1" I guess I should include platform info. I am trying this on Solaris 7/SPARC. I downloaded 3.1 source code. I am using GCC 2.95.2. -- jrj -----Original Message----- From: Jeff Jenkins [mailto:martinezcindy@example.org] Sent: Wednesday, November 01, 2000 10:50 AM To: 'martinezcindy@example.org' Subject: Building mod_jserv.so I am trying to build mod_jserv.so per instructions in tomcat_ug.html. I change directory into jakarta-tomcat/src/native/apache/jserv and execute apxs -c *.c -o mod_jserv.so It compiles and then looks like it is trying to link, but stops with the following information: apxs:Break: Command failed with rc=16711680 Any ideas what I am missing? -- jrj ------_=_NextPart_001_01C04435.67D9CC7A Content-Type: text/html; charset="iso-8859-1" <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <META content="MSHTML 5.00.2919.6307" name=GENERATOR></HEAD> <BODY> <DIV><FONT color=#0000ff face=Arial size=2><SPAN class=468345318-01112000>I guess I should include platform info. </SPAN></FONT></DIV> <DIV><FONT color=#0000ff face=Arial size=2><SPAN class=468345318-01112000></SPAN></FONT>&nbsp;</DIV> <DIV><FONT color=#0000ff face=Arial size=2><SPAN class=468345318-01112000>I am trying this on Solaris 7/SPARC.&nbsp; I downloaded 3.1 source code.&nbsp; I am using GCC 2.95.2.</SPAN></FONT></DIV> <DIV><FONT color=#0000ff face=Arial size=2><SPAN class=468345318-01112000></SPAN></FONT>&nbsp;</DIV> <DIV><FONT color=#0000ff face=Arial size=2><SPAN class=468345318-01112000>-- jrj</SPAN></FONT></DIV> <BLOCKQUOTE style="MARGIN-RIGHT: 0px"> <DIV align=left class=OutlookMessageHeader dir=ltr><FONT face=Tahoma size=2>-----Original Message-----<BR><B>From:</B> Jeff Jenkins [mailto:martinezcindy@example.org]<BR><B>Sent:</B> Wednesday, November 01, 2000 10:50 AM<BR><B>To:</B> 'martinezcindy@example.org'<BR><B>Subject:</B> Building mod_jserv.so<BR><BR></DIV></FONT> <DIV><FONT face=Arial size=2><SPAN class=609544618-01112000>I am trying to build mod_jserv.so per instructions in tomcat_ug.html.</SPAN></FONT></DIV> <DIV><FONT face=Arial size=2><SPAN class=609544618-01112000>I change directory into jakarta-tomcat/src/native/apache/jserv and execute </SPAN></FONT></DIV> <DIV><FONT face=Arial size=2><SPAN class=609544618-01112000></SPAN></FONT>&nbsp;</DIV> <DIV><FONT face=Arial size=2><SPAN class=609544618-01112000>apxs -c *.c -o mod_jserv.so</SPAN></FONT></DIV> <DIV><FONT face=Arial size=2><SPAN class=609544618-01112000></SPAN></FONT>&nbsp;</DIV> <DIV><FONT face=Arial size=2><SPAN class=609544618-01112000>It compiles and then looks like it is trying to link, but stops with the following information:</SPAN></FONT></DIV> <DIV><FONT face=Arial size=2><SPAN class=609544618-01112000></SPAN></FONT>&nbsp;</DIV> <DIV><FONT face=Arial size=2><SPAN class=609544618-01112000>apxs:Break: Command failed with rc=16711680</SPAN></FONT></DIV> <DIV><FONT face=Arial size=2><SPAN class=609544618-01112000></SPAN></FONT>&nbsp;</DIV> <DIV><FONT face=Arial size=2><SPAN class=609544618-01112000>Any ideas what I am missing?</SPAN></FONT></DIV> <DIV><FONT face=Arial size=2><SPAN class=609544618-01112000></SPAN></FONT>&nbsp;</DIV> <DIV><FONT face=Arial size=2><SPAN class=609544618-01112000>-- jrj</SPAN></FONT></DIV> <DIV>&nbsp;</DIV></BLOCKQUOTE></BODY></HTML> ------_=_NextPart_001_01C04435.67D9CC7A-- From martinezcindy@example.org Wed Nov 1 19:52:15 2000 Return-Path: <martinezcindy@example.org> Mailing-List: contact martinezcindy@example.org; run by ezmlm Delivered-To: mailing list martinezcindy@example.org Received: (qmail 84720 invoked from network); 1 Nov 2000 19:52:15 -0000 Received: from mail.webhelp.com (83.161.120.155) by locus.apache.org with SMTP; 1 Nov 2000 19:52:15 -0000 Received: from webhelp.com (localhost.localdomain [83.161.120.155]) (authenticated as nick.bauman) by mail.webhelp.com (8.11.0/8.10.0) with ESMTP id eA1JqC818497 for <martinezcindy@example.org>; Wed, 1 Nov 2000 13:52:12 -0600 Sender: martinezcindy@example.org Message-ID: <martinezcindy@example.org> Date: Wed, 01 Nov 2000 13:59:33 -0600 From: martinezcindy@example.org Organization: WebHelp.COM X-Mailer: Mozilla 4.75 [en] (X11; U; Linux 2.2.16-3 i686) X-Accept-Language: en MIME-Version: 1.0 To: martinezcindy@example.org Subject: Re: Building mod_jserv.so References: <martinezcindy@example.org> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N You sent this email to the wrong list. -- Nick Bauman Software Developer Webhelp.com *Real People, Real Answers, Real Time* martinezcindy@example.org From martinezcindy@example.org Wed Nov 1 21:29:15 2000 Return-Path: <martinezcindy@example.org> Mailing-List: contact martinezcindy@example.org; run by ezmlm Delivered-To: mailing list martinezcindy@example.org Received: (qmail 94359 invoked from network); 1 Nov 2000 21:29:15 -0000 Received: from unknown (HELO conveyor.jetstream.com) (83.161.120.155) by locus.apache.org with SMTP; 1 Nov 2000 21:29:15 -0000 Received: by mail.jetstream.com with Internet Mail Service (5.5.2650.21) id <VH1NC3BQ>; Wed, 1 Nov 2000 13:27:23 -0800 Message-ID: <martinezcindy@example.org> From: Jeff Jenkins <martinezcindy@example.org> To: "'martinezcindy@example.org'" <martinezcindy@example.org> Subject: RE: Building mod_jserv.so Date: Wed, 1 Nov 2000 13:27:21 -0800 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2650.21) Content-Type: text/plain; charset="iso-8859-1" X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N What is the correct list? Is the Jakarta Project List the correct location? -- jrj -----Original Message----- From: martinezcindy@example.org [mailto:martinezcindy@example.org] Sent: Wednesday, November 01, 2000 12:00 PM To: martinezcindy@example.org Subject: Re: Building mod_jserv.so You sent this email to the wrong list. -- Nick Bauman Software Developer Webhelp.com *Real People, Real Answers, Real Time* martinezcindy@example.org From martinezcindy@example.org Wed Nov 1 21:47:35 2000 Return-Path: <martinezcindy@example.org> Mailing-List: contact martinezcindy@example.org; run by ezmlm Delivered-To: mailing list martinezcindy@example.org Received: (qmail 11860 invoked from network); 1 Nov 2000 21:47:35 -0000 Received: from hellfire.clearink.com (HELO clearink.com) (83.161.120.155) by locus.apache.org with SMTP; 1 Nov 2000 21:47:35 -0000 Received: from [83.161.120.155] ([83.161.120.155]) by clearink.com (8.10.2/8.10.2) with ESMTP id eA1LlUS01622 for <martinezcindy@example.org>; Wed, 1 Nov 2000 13:47:30 -0800 User-Agent: Microsoft-Outlook-Express-Macintosh-Edition/5.02.2022 Date: Wed, 01 Nov 2000 13:47:30 -0800 Subject: Re: Building mod_jserv.so From: Jon Stevens <martinezcindy@example.org> To: <martinezcindy@example.org> Message-ID: <martinezcindy@example.org> In-Reply-To: <martinezcindy@example.org> Mime-version: 1.0 Content-type: text/plain; charset="US-ASCII" Content-transfer-encoding: 7bit X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N on 11/1/2000 1:27 PM, "Jeff Jenkins" <martinezcindy@example.org> wrote: > What is the correct list? Is the Jakarta Project List the correct location? > > > -- jrj martinezcindy@example.org You can view a list of the available mailing lists from the website. -jon -- http://scarab.tigris.org/ | http://noodle.tigris.org/ http://java.apache.org/ | http://java.apache.org/turbine/ http://www.working-dogs.com/ | http://jakarta.apache.org/velocity/ http://www.collab.net/ | http://www.sourcexchange.com/ From martinezcindy@example.org Thu Nov 2 08:55:21 2000 Return-Path: <martinezcindy@example.org> Mailing-List: contact martinezcindy@example.org; run by ezmlm Delivered-To: mailing list martinezcindy@example.org Received: (qmail 1232 invoked from network); 2 Nov 2000 08:55:21 -0000 Received: from pat.uio.no (martinezcindy@example.org) by locus.apache.org with SMTP; 2 Nov 2000 08:55:21 -0000 Received: from grotte.ifi.uio.no ([83.161.120.155]) by pat.uio.no with esmtp (Exim 2.12 #7) id 13rG9K-0003G9-00 for martinezcindy@example.org; Thu, 2 Nov 2000 09:55:06 +0100 Received: (from jankr@localhost) by grotte.ifi.uio.no ; Thu, 2 Nov 2000 09:55:05 +0100 (MET) To: martinezcindy@example.org Subject: OROMatcher-1.1 source? X-Cite1: "Over 50,000 lines of code, you probably should be X-Cite2: programming in Ada." X-Cite3: -- P.J. Plaugher, Chair of the ANSI C Committee X-No-Archive: yes X-URL: http://www.stud.ifi.uio.no/~jankr/ X-Mail-Copies-To: never Sender: martinezcindy@example.org Original-Sender: martinezcindy@example.org From: Jan Kroken <martinezcindy@example.org> Date: 02 Nov 2000 09:55:05 +0100 In-Reply-To: Jon Stevens's message of "Wed, 01 Nov 2000 13:47:30 -0800" Message-ID: <martinezcindy@example.org> Lines: 24 X-Mailer: Gnus v5.7/Emacs 20.7 X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N I'm working for a company which have used OROMatcher for a long time. Currently we have about 1000 regular expressions with an average length of about 1000 characters. They use the Perl5StreamInput, and are run in threads. Unfortunately they doesn't always terminate. Sometimes they find all the matches, read until the end of the stream, and then they just continue to spend CPU on nothing forever (we've tested up to 70 hours). This is running on high traffic production servers, and the thread leak is a serious problem. We now have other parsing methods, but unfortunately we don't have resources to rewrite the existing code. So what I think is the only solution is to rewrite the OROMatcher to always terminate in reasonable time (for example by rewriting infinite loops to finite loops, or otherwise detecting that the matching process will be time consuming and just terminate). I looked forward to do that with the open source library, but everything connected to streamed input has been removed. Therefore, I wonder if it would be possible to get the source code for the 1.1 version of OROMatcher. We would of course contribute all patches done. -- -jk From martinezcindy@example.org Sat Nov 4 10:59:38 2000 Return-Path: <martinezcindy@example.org> Mailing-List: contact martinezcindy@example.org; run by ezmlm Delivered-To: mailing list martinezcindy@example.org Delivered-To: moderator for martinezcindy@example.org Received: (qmail 93144 invoked from network); 4 Nov 2000 10:59:38 -0000 Received: from homer.ehsal.be (83.161.120.155) by locus.apache.org with SMTP; 4 Nov 2000 10:59:38 -0000 Received: from mail1.ehsal.be (mail1.ehsal.be [83.161.120.155]) by homer.ehsal.be (2.6 Build 1 (Berkeley 8.8.6)/8.8.4) with ESMTP id LAA00359 for <martinezcindy@example.org>; Sat, 04 Nov 2000 11:59:58 +0100 Received: from EHSAL_1/SpoolDir by mail1.ehsal.be (Mercury 1.44); 4 Nov 00 12:02:46 +0100 Received: from SpoolDir by EHSAL_1 (Mercury 1.44); 4 Nov 00 12:02:45 +0100 Received: from blitz (83.161.120.155) by mail1.ehsal.be (Mercury 1.44); 4 Nov 00 12:02:43 +0100 Message-ID: <000701c0464f$2a452870$7d91efd4@blitz> Reply-To: "Gerard Hoorelbeke, prof. EHSAL, Brussels (Be)" <martinezcindy@example.org> From: "Gerard Hoorelbeke, prof. EHSAL, Brussels (Be)" <martinezcindy@example.org> To: <martinezcindy@example.org> Subject: Need help on: Why doesn't my Tomcat server run the JSP samples? Date: Sat, 4 Nov 2000 12:05:37 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 4.72.3110.5 X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3 X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N =>I already posted this problem on some user list, but I forgot the reference; I hope this is the more appropriate place for my problem. I'm not an ITC specialist in Web Servers, and certainly not one in a JSP-oriented one as Tomcat. For a seminar on e-commerce I would like to give a (short) demo on Tomcat as a stand alone server on a Windows NT 4.0 (service pack 5). So I downloaded the Jakarta-Tomcat 3.1 zip file (without Apache) and installed everything on the home directory D:\TOMCAT. I included the SET clauses in the Startup.bat and Tomcat.bat files (i.e set JAVA_HOME=D:\jdk15 and TOMCAT_HOME=D:\Tomcat) When I enter 'startup' in a DOS window it opens the DOS-server Window nicely. I can open the NN browser with http://localhost:8080 and it displays the JSP and Servlet examples. - executing the sample servlets is no problem. - the JSP samples however give me the typical 501 error (can't find the compiler). I've studied the FAQs and related answers to this problem. They mention a TOOLS.JAR file which apparently I do not have (on D:\Tomcat I only see ant.jar, jasper.jar, servlet.jar, webserver.jar, xml.jar and on D:\JKD15, I don't see any file of that type either). So I thought I was using an old JDK version (it is now JDK1.1.5 and it works fine). I tried to download the JDK1.3, but unfortunately this is a 30Mb file and my provider always interrupts the download after 10Mb. Here the questions. - Is that file TOOLS.JAR really the problem? - Is it possible to get a copy of that file that would eventually work with JDK 1.1.5. (according to the small Jakarta User's guide the Tomcat server should also work with JDK1.1.5). I would really appreciate any help or answser to the above questions. To whoever answers these questions, thanks for dedicating your time to this. Gerard Hoorelbeke EHSAL, Brussels, Belgium martinezcindy@example.org From martinezcindy@example.org Sun Nov 5 20:13:39 2000 Return-Path: <martinezcindy@example.org> Mailing-List: contact martinezcindy@example.org; run by ezmlm Delivered-To: mailing list martinezcindy@example.org Received: (qmail 20986 invoked from network); 5 Nov 2000 20:13:39 -0000 Received: from hellfire.clearink.com (HELO clearink.com) (83.161.120.155) by locus.apache.org with SMTP; 5 Nov 2000 20:13:39 -0000 Received: from [83.161.120.155] ([83.161.120.155]) by clearink.com (8.10.2/8.10.2) with ESMTP id eA5KDal04917 for <martinezcindy@example.org>; Sun, 5 Nov 2000 12:13:36 -0800 User-Agent: Microsoft-Outlook-Express-Macintosh-Edition/5.02.2022 Date: Sun, 05 Nov 2000 12:13:33 -0800 Subject: Re: Need help on: Why doesn't my Tomcat server run the JSP samples? From: Jon Stevens <martinezcindy@example.org> To: <martinezcindy@example.org> Message-ID: <martinezcindy@example.org> In-Reply-To: <000701c0464f$2a452870$7d91efd4@blitz> Mime-version: 1.0 Content-type: text/plain; charset="US-ASCII" Content-transfer-encoding: 7bit X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N on 11/4/2000 3:05 AM, "Gerard Hoorelbeke, prof. EHSAL, Brussels (Be)" <martinezcindy@example.org> wrote: > =>I already posted this problem on some user list, but I forgot the > reference; > I hope this is the more appropriate place for my problem. this is the ORO list...you want the Tomcat-users list. -jon -- http://scarab.tigris.org/ | http://noodle.tigris.org/ http://java.apache.org/ | http://java.apache.org/turbine/ http://www.working-dogs.com/ | http://jakarta.apache.org/velocity/ http://www.collab.net/ | http://www.sourcexchange.com/ From martinezcindy@example.org Mon Nov 6 16:40:14 2000 Return-Path: <martinezcindy@example.org> Mailing-List: contact martinezcindy@example.org; run by ezmlm Delivered-To: mailing list martinezcindy@example.org Received: (qmail 74053 invoked from network); 6 Nov 2000 16:40:14 -0000 Received: from mail.webhelp.com (83.161.120.155) by locus.apache.org with SMTP; 6 Nov 2000 16:40:14 -0000 Received: from webhelp.com (localhost.localdomain [83.161.120.155]) (authenticated as nick.bauman) by mail.webhelp.com (8.11.0/8.10.0) with ESMTP id eA6GeD319267 for <martinezcindy@example.org>; Mon, 6 Nov 2000 10:40:13 -0600 Sender: martinezcindy@example.org Message-ID: <martinezcindy@example.org> Date: Mon, 06 Nov 2000 10:47:06 -0600 From: martinezcindy@example.org Organization: WebHelp.COM X-Mailer: Mozilla 4.75 [en] (X11; U; Linux 2.2.16-3 i686) X-Accept-Language: en MIME-Version: 1.0 To: martinezcindy@example.org Subject: ORO speed References: <martinezcindy@example.org> Content-Type: multipart/mixed; boundary="------------0352772EF704AC642F930A5B" X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N This is a multi-part message in MIME format. --------------0352772EF704AC642F930A5B Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit I'm running an older version or ORO that I've written a small benchtest against the newer ORO from the Jakarta website. My benchtest shows that the older version of ORO is about 20% faster than the newer version. Why is this? Included is: PerlTools.jar (older version) perltest.java (a simple program to bench the old versus the new ORO. Change the import statements to get results of the new ORO) I used these to gague the performance of ORO. -- Nick Bauman Software Developer Webhelp.com *Real People, Real Answers, Real Time* martinezcindy@example.org --------------0352772EF704AC642F930A5B Content-Type: application/java-archive; name="PerlTools.jar" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="PerlTools.jar" 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 aW5jL3RleHQvcGVybC9NYWxmb3JtZWRQZXJsNVBhdHRlcm5FeGNlcHRpb24uY2xhc3N9UMFO QjEQnPLgPXxRFBK/wAtipAfjScPlRU+YkJC8+1oq1pSW1GL4LU8kHvwAP8q4JcqBg3uYzc7s ziT79f3xiQyX6BU4KdAtIdBKkB/iAEWCtkDWP68FTvvjF3ojacnN5TQG4+Y3ic9vjTNxJNCs /EwLHFXevUZysSa74rm8Wyu9jIZZgc7YK7I1BUOPVjNx9kD2yYeFnk10sNcTilEHtzsZpkj2 mPpVUPreWDYcKr+QPnjjlIx6HeXOoiL1rPctBK72D5YcJf8PRhcN/kOq1PkZjCVPXe6Jbw02 yN63C0lu/8o9Xm9wzwcXGzT/9OOtTecHUEsHCOr0OGH0AAAAbwEAAFBLAwQUAAgACACAm1Un AAAAAAAAAAAAAAAAMgAAAGNvbS9vcm9pbmMvdGV4dC9wZXJsL1BhcnNlZFN1YnN0aXR1dGlv bkVudHJ5LmNsYXNzhVFdSwJBFD3jt7Z+ZElZmm9hm7VvvRi9hMGCkCD4KuM6yMo6u4yzYT+r Bwl66Af0o6I7JhRFNDDnzlw495yZ8/b+8ookLtDKopnFSQEJ5PJgyBsoGNgxYFkoo2ihjj0L RwaOsW+hgRpDsn02Yrhq971w4YQq9KXnaLHSjhIzsXIGXGuhZLc/5w/cCbicOUOtfDnruq4h Zq596esbhtRtOBUMxdtQLjWXesSDmO6F3soTkfapy8BchtY/QgzV31oMpX7o8WDElc8ngaBZ jQFXSzEdxpOl9nVsFHpSq8dLQybdYRgrT9z5AZmojmW8cCXNj8KAb83smuZ3OvVy4+jTBv3Z WIko4J5YCKkZOj9dR0IFzh8eGCpfT7ifzIWnUaEcEgBStCkCmFXfVkpjUykQQka7jBLVCp1O iZU2HPsZSbu5RtqupdZI2Z01svb5GpmnDZfhkDCBgw9QSwcIriqKdVgBAAAVAgAAUEsDBBQA CAAIAImbVScAAAAAAAAAAAAAAAAkAAAAY29tL29yb2luYy90ZXh0L3BlcmwvUGVybDVVdGls LmNsYXNzlVgLWBzVFf7v7uzO7jDAAhnIhEAeJgSWjVRD1mRJiAnGFgtJmmgSTCzZwEDWLrvr 7qKk1Vbb9Km2tlbbpD4SH6VV22IrSxCLsbaxte+nX+3Lvt/v1r5Nz5mdXZYwQOT75tw75/73 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 BNd8Bd0PyRgU76Gxm5X7CNAq1etheXoXcjhM03bijZChg5NZdTBf/lvl/gFQSwcIX6Qu1TEF AABACgAAUEsDBBQACAAIAIubVScAAAAAAAAAAAAAAAAuAAAAY29tL29yb2luYy90ZXh0L3Jl Z2V4L1N0cmluZ1N1YnN0aXR1dGlvbi5jbGFzc3WTwW7TQBCG/03TODFu0qZtCiW0UhHgOG0N hVsRByqQKgWBiBSOaONuXVfGjuw1ypP00KdoJZpKHHgAHgoxmzhFwY4Ps7sz3/yzu579/efn LyxgD6/K2NDQ1rCrYV+DreG5jiJqOgpYrpBZUaauo4RV5VvTsYh1NWsY2MKmMk0Dz7BjwMRj Ay08NEj3gYEXuG/gAE0GMCyYrWOGNbPVOeffue3zwLW7MvIC93Ac7DHsmtlYFn+bnJ6KiJLW 83CSucj605yOE36zwyj0AseWYijtSLhiaH/g0jn7LOLEl4fHWc05WZ+4lCIKxsnztVNqvLHS ay/w5BuG4lF4IhiWjsIgljyQPe4ntNbfDR0xkB55GRjdVj3vrqqd0OF+j0ce7/uCSL0bJpEj 3ns+aWxMuG7Sj6UnEyW2r0QI+xon/Y4IXHlGpdXijqCt8cFABCdUcjLpzkTN/LNlSzHszEFn oJor5Kxn+d9BP/bPhSNnXJNCDI38/0rb99Nz1eL/lcsynLDUgwVqbGo2GqEaFuqjniVbIj81 M9ltWq0SQU0LzaqzW5Svx6ACminQIECJ6NYtQe0RqlPm4I7ZTJmq1b4hkKClG1SmHD2QlFuh URVbtH5Av0rDL3PCIxjTsIVHaXiLamg01im7conidVvJjHDvy7TSE7IFPP0LUEsHCK6b/Ef3 AQAA8QMAAFBLAwQUAAgACACLm1UnAAAAAAAAAAAAAAAALQAAAGNvbS9vcm9pbmMvdGV4dC9y ZWdleC9DaGFyU3RyaW5nUG9pbnRlci5jbGFzc51UXU8TQRQ9S7/XUtpSQGwFFINlCxQRFaWa mAKmCQEDBoM81KUdypKyS7YLwd+iL/riCw+aiCSa8AP8UeKd2dlticQHN+mdO3POuXfu3bv9 9fvHOQKYRCkAXFxE8CiCuQgeR/BERRDdKrqQUBFCT4y8JN+muEnzbW8cwxjg5iY3Q3FoGI+j gME4prmZwZiCQH68LGxFQSY/vrynH+nFpm42iuuObZiNeQFuCPtGQTBf4fw+Wq6icpi4ofxW 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 YggAAGNvbS9vcm9pbmMvdGV4dC9wZXJsL1BhcnNlZFN1YnN0aXR1dGlvbkVudHJ5LmNsYXNz UEsBAhQAFAAIAAgAiZtVJ74t8PklDAAA2BsAACQAAAAAAAAAAAAAAAAAGgoAAGNvbS9vcm9p bmMvdGV4dC9wZXJsL1Blcmw1VXRpbC5jbGFzc1BLAQIUABQACAAIAHubVSfEdm5y7wAAAFYB AAA0AAAAAAAAAAAAAAAAAJEWAABjb20vb3JvaW5jL3RleHQvTWFsZm9ybWVkQ2FjaGVQYXR0 ZXJuRXhjZXB0aW9uLmNsYXNzUEsBAgoACgAAAAAAi5tVJwAAAAAAAAAAAAAAABYAAAAAAAAA AAAAAAAA4hcAAGNvbS9vcm9pbmMvdGV4dC9yZWdleC9QSwECFAAUAAgACACAm1UnKZs+F7wA AADxAAAAIwAAAAAAAAAAAAAAAAAWGAAAY29tL29yb2luYy90ZXh0L3JlZ2V4L1BhdHRlcm4u Y2xhc3NQSwECFAAUAAgACACJm1UnBSkjMwIBAAB7AQAAJwAAAAAAAAAAAAAAAAAjGQAAY29t L29yb2luYy90ZXh0L3JlZ2V4L01hdGNoUmVzdWx0LmNsYXNzUEsBAhQAFAAIAAgAiptVJ/4r Mr/oAAAASwEAADUAAAAAAAAAAAAAAAAAehoAAGNvbS9vcm9pbmMvdGV4dC9yZWdleC9NYWxm b3JtZWRQYXR0ZXJuRXhjZXB0aW9uLmNsYXNzUEsBAhQAFAAIAAgAiptVJ0m5GpLFEwAAOysA ACgAAAAAAAAAAAAAAAAAxRsAAGNvbS9vcm9pbmMvdGV4dC9yZWdleC9QZXJsNU1hdGNoZXIu Y2xhc3NQSwECFAAUAAgACACKm1UnSVM6+hgBAAA+AgAAKgAAAAAAAAAAAAAAAADgLwAAY29t L29yb2luYy90ZXh0L3JlZ2V4L1BhdHRlcm5NYXRjaGVyLmNsYXNzUEsBAhQAFAAIAAgAiptV J1LMDpAGBAAAHAsAACAAAAAAAAAAAAAAAAAAUDEAAGNvbS9vcm9pbmMvdGV4dC9yZWdleC9V dGlsLmNsYXNzUEsBAhQAFAAIAAgAi5tVJy0cgeuoGgAAyzoAACkAAAAAAAAAAAAAAAAApDUA AGNvbS9vcm9pbmMvdGV4dC9yZWdleC9QZXJsNUNvbXBpbGVyLmNsYXNzUEsBAhQAFAAIAAgA i5tVJ63lgkf4AAAA+wEAACsAAAAAAAAAAAAAAAAAo1AAAGNvbS9vcm9pbmMvdGV4dC9yZWdl eC9QYXR0ZXJuQ29tcGlsZXIuY2xhc3NQSwECFAAUAAgACACLm1UnxkjlSN0DAAAyCQAALwAA AAAAAAAAAAAAAAD0UQAAY29tL29yb2luYy90ZXh0L3JlZ2V4L1BhdHRlcm5NYXRjaGVySW5w dXQuY2xhc3NQSwECFAAUAAgACACLm1UnxIhwqBkCAAB7AwAAKAAAAAAAAAAAAAAAAAAuVgAA Y29tL29yb2luYy90ZXh0L3JlZ2V4L1Blcmw1UGF0dGVybi5jbGFzc1BLAQIUABQACAAIAIub VScMPKNR6wQAAKoIAAAsAAAAAAAAAAAAAAAAAJ1YAABjb20vb3JvaW5jL3RleHQvcmVnZXgv UGVybDVTdHJlYW1JbnB1dC5jbGFzc1BLAQIUABQACAAIAIubVScg1D104AAAAGoBAAAoAAAA AAAAAAAAAAAAAOJdAABjb20vb3JvaW5jL3RleHQvcmVnZXgvU3Vic3RpdHV0aW9uLmNsYXNz UEsBAhQAFAAIAAgAi5tVJ1+kLtUxBQAAQAoAAC0AAAAAAAAAAAAAAAAAGF8AAGNvbS9vcm9p bmMvdGV4dC9yZWdleC9QZXJsNVN1YnN0aXR1dGlvbi5jbGFzc1BLAQIUABQACAAIAIubVSeu m/xH9wEAAPEDAAAuAAAAAAAAAAAAAAAAAKRkAABjb20vb3JvaW5jL3RleHQvcmVnZXgvU3Ry aW5nU3Vic3RpdHV0aW9uLmNsYXNzUEsBAhQAFAAIAAgAi5tVJ0j157vfAgAAsgUAAC0AAAAA AAAAAAAAAAAA92YAAGNvbS9vcm9pbmMvdGV4dC9yZWdleC9DaGFyU3RyaW5nUG9pbnRlci5j bGFzc1BLAQIUABQACAAIAIubVScZUL5exAQAAGAJAAAiAAAAAAAAAAAAAAAAADFqAABjb20v b3JvaW5jL3RleHQvcmVnZXgvT3BDb2RlLmNsYXNzUEsBAhQAFAAIAAgAi5tVJ/f/7JsqAQAA 1AEAACsAAAAAAAAAAAAAAAAARW8AAGNvbS9vcm9pbmMvdGV4dC9yZWdleC9QZXJsNVJlcGV0 aXRpb24uY2xhc3NQSwECFAAUAAgACACLm1Un3aNjLmQCAACuBAAALAAAAAAAAAAAAAAAAADI cAAAY29tL29yb2luYy90ZXh0L3JlZ2V4L1Blcmw1TWF0Y2hSZXN1bHQuY2xhc3NQSwECFAAU AAgACACKm1UnVf8GZxYBAAAOAgAAIgAAAAAAAAAAAAAAAACGcwAAY29tL29yb2luYy90ZXh0 L1BhdHRlcm5DYWNoZS5jbGFzc1BLAQIUABQACAAIAIqbVSf/t2CwVAEAAIICAAAlAAAAAAAA AAAAAAAAAOx0AABjb20vb3JvaW5jL3RleHQvUGF0dGVybkNhY2hlTFJVLmNsYXNzUEsBAhQA FAAIAAgAiptVJ/Zr0ps+AwAAuAYAACkAAAAAAAAAAAAAAAAAk3YAAGNvbS9vcm9pbmMvdGV4 dC9HZW5lcmljUGF0dGVybkNhY2hlLmNsYXNzUEsBAgoACgAAAAAAjJtVJwAAAAAAAAAAAAAA ABAAAAAAAAAAAAAAAAAAKHoAAGNvbS9vcm9pbmMvdXRpbC9QSwECFAAUAAgACACKm1Unk1BI +dwAAABFAQAAGwAAAAAAAAAAAAAAAABWegAAY29tL29yb2luYy91dGlsL0NhY2hlLmNsYXNz UEsBAhQAFAAIAAgAiptVJ5Xk7kPqAgAAMQUAAB4AAAAAAAAAAAAAAAAAe3sAAGNvbS9vcm9p bmMvdXRpbC9DYWNoZUxSVS5jbGFzc1BLAQIUABQACAAIAIqbVSdSZJ46eQIAACQEAAAiAAAA AAAAAAAAAAAAALF+AABjb20vb3JvaW5jL3V0aWwvR2VuZXJpY0NhY2hlLmNsYXNzUEsBAhQA FAAIAAgAjJtVJ1I1be0gAQAAigEAACcAAAAAAAAAAAAAAAAAeoEAAGNvbS9vcm9pbmMvdXRp bC9HZW5lcmljQ2FjaGVFbnRyeS5jbGFzc1BLBQYAAAAAJAAkAIwLAADvggAAAAA= --------------0352772EF704AC642F930A5B Content-Type: text/plain; charset=us-ascii; name="perltest.java" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="perltest.java" import com.oroinc.text.regex.MalformedPatternException; import com.oroinc.text.regex.PatternCompiler; import com.oroinc.text.regex.Perl5Compiler; import com.oroinc.text.regex.Perl5Matcher; import com.oroinc.text.regex.Perl5Substitution; import com.oroinc.text.regex.Util; import com.webhelp.io.File; import java.io.FilenameFilter; import java.io.PrintStream; import java.util.Hashtable; import java.util.Vector; public class perltest { class TxtFilter implements FilenameFilter { public boolean accept(java.io.File file, String s) { return s.endsWith("txt"); } final String suffix = "txt"; TxtFilter() { } } public perltest() { } public Hashtable getFiles(java.io.File file) throws Exception { System.out.println("DIR: " + file.toString()); Hashtable hashtable = new Hashtable(); Object obj = null; TxtFilter txtfilter = new TxtFilter(); String as[] = file.list(txtfilter); int i = 0; for(int j = 0; j < as.length; j++) { java.io.File file1 = new java.io.File(file.getAbsolutePath() + "/" + as[j]); hashtable.put(new Integer(i), file1.getAbsolutePath()); i++; } return hashtable; } private static void main(String args[]) { if(args.length < 3) { System.err.println("Usage: substituteExamplesDir regex substitution input [sub limit] [interpolation limit]"); System.exit(1); } try { perltest perltest1 = new perltest(); Hashtable hashtable = perltest1.getFiles(new java.io.File(args[0])); Perl5Matcher perl5matcher = new Perl5Matcher(); com.oroinc.text.regex.Pattern pattern = null; Perl5Compiler perl5compiler = new Perl5Compiler(); int i = -1; int j = 0; String s = args[1]; String s2 = args[2]; if(args.length > 3) i = Integer.parseInt(args[3]); if(args.length > 4) j = Integer.parseInt(args[4]); try { pattern = perl5compiler.compile(s); System.out.println("substitute regex: " + s); } catch(MalformedPatternException malformedpatternexception) { System.err.println("Bad pattern."); System.err.println(malformedpatternexception.getMessage()); System.exit(1); } Vector vector = new Vector(); Vector vector1 = new Vector(); for(int k = 0; k < hashtable.size(); k++) { long l = System.currentTimeMillis(); String s1 = File.readText((String)hashtable.get(new Integer(k))); long l2 = System.currentTimeMillis() - l; vector1.addElement(new Long(l2)); long l4 = System.currentTimeMillis(); String s3 = Util.substitute(perl5matcher, pattern, new Perl5Substitution(s2, j), s1, i); long l6 = System.currentTimeMillis() - l4; vector.addElement(new Long(l6)); String s4 = (String)hashtable.get(new Integer(k)) + ".fix"; File.writeText(s4, s3); } long l1 = 0x7fffffffffffffffL; long l3 = 0x8000000000000000L; long l5 = 0L; long l7 = 0x7fffffffffffffffL; long l8 = 0x8000000000000000L; long l9 = 0L; for(int i1 = 0; i1 < vector.size(); i1++) { long l10 = ((Long)vector.elementAt(i1)).longValue(); l1 = l1 >= l10 ? l10 : l1; l3 = l3 <= l10 ? l10 : l3; l5 += l10; } for(int j1 = 0; j1 < vector.size(); j1++) { long l11 = ((Long)vector1.elementAt(j1)).longValue(); l7 = l7 >= l11 ? l11 : l7; l8 = l8 <= l11 ? l11 : l8; l9 += l11; } System.out.println("Longest regex subst: " + l3 + " ms"); System.out.println("Shortest regex subst: " + l1 + " ms"); System.out.println("Average of all regex subst: " + (double)l5 / (double)vector.size() + " ms"); System.out.println("Total time spent " + l5); System.out.println("Longest file off disk read: " + l8 + " ms"); System.out.println("Shortest file read off disk: " + l7 + " ms"); System.out.println("Average of all file reads: " + (double)l9 / (double)vector1.size() + " ms"); System.out.println("Total time spent " + l9); } catch(Exception exception) { System.out.println("failed: " + exception); exception.printStackTrace(); } } } --------------0352772EF704AC642F930A5B-- From martinezcindy@example.org Mon Nov 6 16:42:48 2000 Return-Path: <martinezcindy@example.org> Mailing-List: contact martinezcindy@example.org; run by ezmlm Delivered-To: mailing list martinezcindy@example.org Received: (qmail 75847 invoked from network); 6 Nov 2000 16:42:48 -0000 Received: from mail.webhelp.com (83.161.120.155) by locus.apache.org with SMTP; 6 Nov 2000 16:42:48 -0000 Received: from webhelp.com (localhost.localdomain [83.161.120.155]) (authenticated as nick.bauman) by mail.webhelp.com (8.11.0/8.10.0) with ESMTP id eA6Ggl319771 for <martinezcindy@example.org>; Mon, 6 Nov 2000 10:42:47 -0600 Sender: martinezcindy@example.org Message-ID: <martinezcindy@example.org> Date: Mon, 06 Nov 2000 10:49:41 -0600 From: martinezcindy@example.org Organization: WebHelp.COM X-Mailer: Mozilla 4.75 [en] (X11; U; Linux 2.2.16-3 i686) X-Accept-Language: en MIME-Version: 1.0 To: martinezcindy@example.org Subject: making a pattern match across end of line separator References: <martinezcindy@example.org> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N It seems the making a match cross an end of line separator doesn't want to work in ORO. I've tried useing "/pattern/s" and compiling that, nada. What am I doing wrong? -- Nick Bauman Software Developer Webhelp.com *Real People, Real Answers, Real Time* martinezcindy@example.org From martinezcindy@example.org Mon Nov 6 19:47:10 2000 Return-Path: <martinezcindy@example.org> Mailing-List: contact martinezcindy@example.org; run by ezmlm Delivered-To: mailing list martinezcindy@example.org Received: (qmail 56417 invoked from network); 6 Nov 2000 19:47:10 -0000 Received: from nagpur.vsnl.net.in (HELO nagpur.dot.net.in) (83.161.120.155) by locus.apache.org with SMTP; 6 Nov 2000 19:47:10 -0000 Received: from mangal.nagpur.dot.net.in (PPP50-103.dot.vsnl.net.in [83.161.120.155]) by nagpur.dot.net.in (8.9.3/8.9.3) with SMTP id BAA11813 for <martinezcindy@example.org>; Tue, 7 Nov 2000 01:17:58 +0530 (IST) Message-ID: <martinezcindy@example.org> From: "Mangalmurti" <martinezcindy@example.org> To: <martinezcindy@example.org> Subject: Re: making a pattern match across end of line separator Date: Tue, 7 Nov 2000 01:11:26 +0530 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 4.72.2106.4 X-MimeOLE: Produced By Microsoft MimeOLE V4.72.2106.4 X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N I wish to UNSUBSCRIBE to your mailing list. I have done this to all lists of Jakarta project list as they are chocking my mail account. please update your records. ------------- >-----Original Message----- >From: martinezcindy@example.org <martinezcindy@example.org> >To: martinezcindy@example.org <martinezcindy@example.org> >Date: Tuesday, November 07, 2000 1:15 AM >Subject: making a pattern match across end of line separator > > >>It seems the making a match cross an end of line separator doesn't want >>to work in ORO. I've tried useing "/pattern/s" and compiling that, nada. >> >>What am I doing wrong? >> >>-- >>Nick Bauman >>Software Developer >>Webhelp.com *Real People, Real Answers, Real Time* >>martinezcindy@example.org >> > From martinezcindy@example.org Mon Nov 6 19:52:19 2000 Return-Path: <martinezcindy@example.org> Mailing-List: contact martinezcindy@example.org; run by ezmlm Delivered-To: mailing list martinezcindy@example.org Received: (qmail 58215 invoked from network); 6 Nov 2000 19:52:19 -0000 Received: from nagpur.vsnl.net.in (HELO nagpur.dot.net.in) (83.161.120.155) by locus.apache.org with SMTP; 6 Nov 2000 19:52:19 -0000 Received: from mangal.nagpur.dot.net.in (PPP50-103.dot.vsnl.net.in [83.161.120.155]) by nagpur.dot.net.in (8.9.3/8.9.3) with SMTP id BAA14738 for <martinezcindy@example.org>; Tue, 7 Nov 2000 01:17:29 +0530 (IST) Message-ID: <martinezcindy@example.org> From: "Mangalmurti" <martinezcindy@example.org> To: <martinezcindy@example.org> Subject: Re: making a pattern match across end of line separator Date: Tue, 7 Nov 2000 01:10:56 +0530 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 4.72.2106.4 X-MimeOLE: Produced By Microsoft MimeOLE V4.72.2106.4 X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N I wish to UNSUBSCRIBE to your mailing list. I have done this to all lists of Jakarta project list as they are chocking my mail account. please update your records. ------------- -----Original Message----- From: martinezcindy@example.org <martinezcindy@example.org> To: martinezcindy@example.org <martinezcindy@example.org> Date: Tuesday, November 07, 2000 1:15 AM Subject: making a pattern match across end of line separator >It seems the making a match cross an end of line separator doesn't want >to work in ORO. I've tried useing "/pattern/s" and compiling that, nada. > >What am I doing wrong? > >-- >Nick Bauman >Software Developer >Webhelp.com *Real People, Real Answers, Real Time* >martinezcindy@example.org > From martinezcindy@example.org Mon Nov 6 21:18:22 2000 Return-Path: <martinezcindy@example.org> Mailing-List: contact martinezcindy@example.org; run by ezmlm Delivered-To: mailing list martinezcindy@example.org Received: (qmail 21676 invoked from network); 6 Nov 2000 21:18:22 -0000 Received: from mail.kurion.com (HELO kurion?exch.kurion.com) (83.161.120.155) by locus.apache.org with SMTP; 6 Nov 2000 21:18:22 -0000 Received: by kurion_exch.kurion.com with Internet Mail Service (5.5.2650.21) id <47F4HWQB>; Mon, 6 Nov 2000 15:17:22 -0600 Message-ID: <81CC73FC2FACD311A2D200508B8B88AA1ADA91@kurion_exch.kurion.com> From: Dan Lipofsky <martinezcindy@example.org> To: "'martinezcindy@example.org'" <martinezcindy@example.org> Subject: RE: making a pattern match across end of line separator Date: Mon, 6 Nov 2000 15:17:21 -0600 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2650.21) Content-Type: multipart/mixed; boundary="----_=_NextPart_000_01C04836.F38B43C0" X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_000_01C04836.F38B43C0 Content-Type: text/plain; charset="iso-8859-1" Sounds like the bug I encountered. I attached the patch. I don't think it has made it to the distribution yet. - Dan Dan Lipofsky wrote: > >I am trying to use ^ and $ with a multiline string. > >Passing Perl5Compiler.MULTILINE_MASK to the compile > >method seems to have no effect. However, doing > >setMultiline(true) on the matcher seems to work. > >Is this a known bug? Daniel Savarese wrote: > After a quick test it looks like the behavior ^ with MULTILINE_MASK > got messed up in the transition to Jakarta-ORO. I can probably fix > it pretty quickly, but I've got to talk to Jon about getting commit > privileges because I can't commit code right now. > > OK, while writing this email I martinezcindy@example.org. I've attached a patch. > Please test it out and make sure it works for your case. I'll talk to > Jon about doing commits. ------_=_NextPart_000_01C04836.F38B43C0 Content-Type: application/octet-stream; name="oro-mbol.patch" Content-Disposition: attachment; filename="oro-mbol.patch" Index: jakarta-oro/src/java/org/apache/oro/text/regex/Perl5Compiler.java =================================================================== RCS file: /home/cvspublic/jakarta-oro/src/java/org/apache/oro/text/regex/Perl5Compiler.java,v retrieving revision 1.2 diff -u -r1.2 Perl5Compiler.java --- jakarta-oro/src/java/org/apache/oro/text/regex/Perl5Compiler.java 2000/07/23 23:25:26 1.2 +++ jakarta-oro/src/java/org/apache/oro/text/regex/Perl5Compiler.java 2000/09/02 06:07:37 @@ -1541,7 +1541,12 @@ else if(op == OpCode._BOUND || op == OpCode._NBOUND) regexp._startClassOffset = first; else if(OpCode._opType[op] == OpCode._BOL) { - regexp._anchor = Perl5Pattern._OPT_ANCH; + if(op == OpCode._BOL) + regexp._anchor = Perl5Pattern._OPT_ANCH_BOL; + else if(op == OpCode._MBOL) + regexp._anchor = Perl5Pattern._OPT_ANCH_MBOL; + else + regexp._anchor = Perl5Pattern._OPT_ANCH; first = OpCode._getNextOperator(first); doItAgain = true; continue; Index: jakarta-oro/src/java/org/apache/oro/text/regex/Perl5Matcher.java =================================================================== RCS file: /home/cvspublic/jakarta-oro/src/java/org/apache/oro/text/regex/Perl5Matcher.java,v retrieving revision 1.2 diff -u -r1.2 Perl5Matcher.java --- jakarta-oro/src/java/org/apache/oro/text/regex/Perl5Matcher.java 2000/07/23 23:25:26 1.2 +++ jakarta-oro/src/java/org/apache/oro/text/regex/Perl5Matcher.java 2000/09/02 06:07:38 @@ -292,7 +292,10 @@ if(mustString != null && ((expression._anchor & Perl5Pattern._OPT_ANCH) == 0 || - (__multiline && expression._back >= 0))) { + ((__multiline || + (expression._anchor & Perl5Pattern._OPT_ANCH_MBOL) != 0) + && expression._back >= 0))) + { __currentOffset = __findFirst(__input, __currentOffset, endOffset, mustString); @@ -326,6 +329,7 @@ success = true; break _mainLoop; } else if(__multiline || + (expression._anchor & Perl5Pattern._OPT_ANCH_MBOL) != 0 || (expression._anchor & Perl5Pattern._OPT_IMPLICIT) != 0) { if(minLength > 0) Index: jakarta-oro/src/java/org/apache/oro/text/regex/Perl5Pattern.java =================================================================== RCS file: /home/cvspublic/jakarta-oro/src/java/org/apache/oro/text/regex/Perl5Pattern.java,v retrieving revision 1.2 diff -u -r1.2 Perl5Pattern.java --- jakarta-oro/src/java/org/apache/oro/text/regex/Perl5Pattern.java 2000/07/23 23:25:27 1.2 +++ jakarta-oro/src/java/org/apache/oro/text/regex/Perl5Pattern.java 2000/09/02 06:07:38 @@ -79,7 +79,12 @@ * @see Perl5Matcher */ public final class Perl5Pattern implements Pattern, Serializable, Cloneable { - static final int _OPT_ANCH = 1, _OPT_SKIP = 2, _OPT_IMPLICIT = 4; + static final int + _OPT_ANCH_BOL = 0x01, + _OPT_ANCH_MBOL = 0x02, + _OPT_SKIP = 0x04, + _OPT_IMPLICIT = 0x08; + static final int _OPT_ANCH = (_OPT_ANCH_BOL | _OPT_ANCH_MBOL); String _expression; char[] _program; ------_=_NextPart_000_01C04836.F38B43C0-- From martinezcindy@example.org Mon Nov 6 17:01:20 2000 Return-Path: <martinezcindy@example.org> Mailing-List: contact martinezcindy@example.org; run by ezmlm Delivered-To: mailing list martinezcindy@example.org Delivered-To: moderator for martinezcindy@example.org Received: (qmail 84098 invoked from network); 6 Nov 2000 17:01:20 -0000 Received: from unknown (HELO tom.perform.fr) (83.161.120.155) by locus.apache.org with SMTP; 6 Nov 2000 17:01:20 -0000 Received: from pccgi (pccgi.perform.fr [83.161.120.155]) by tom.perform.fr (8.9.3/8.8.7) with SMTP id SAA09785 for <martinezcindy@example.org>; Mon, 6 Nov 2000 18:02:59 +0100 Message-ID: <martinezcindy@example.org> From: "Christophe Gierski" <martinezcindy@example.org> To: <martinezcindy@example.org> Subject: Optimization Date: Mon, 6 Nov 2000 18:02:49 +0100 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0085_01C0481B.C6866FF0" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.00.3018.1300 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.3018.1300 X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N This is a multi-part message in MIME format. ------=_NextPart_000_0085_01C0481B.C6866FF0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi,=20 I create a program to test my servlets on an Tomcat Server. My program starts some threads (from 10 to 50) that open a new = URLConnection to my server. URL url =3D new URL(the_url); HttpURLConnection url_connection =3D (HttpURLConnection)(url.openConnection()); InputStream ins =3D = url_connection.getInputStream(); When my program has about 10 threads I have this error message : Thread[Thread-29,6,main]:java.net.BindException: Address in use: no = further information What's happen ? My tomcat Server rejects my connection . Is there some limitation on tomcat Server ? Thanks. Christopher. ------=_NextPart_000_0085_01C0481B.C6866FF0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META content=3D"text/html; charset=3Diso-8859-1" = http-equiv=3DContent-Type> <META content=3D"MSHTML (326)290-1032" name=3DGENERATOR> <STYLE></STYLE> </HEAD> <BODY bgColor=3D#ffffff> <DIV><FONT face=3DArial size=3D2>Hi, </FONT></DIV> <DIV>&nbsp;</DIV> <DIV><FONT face=3DArial size=3D2>I create a program to test my servlets = on an Tomcat=20 Server.<BR><BR>My program starts some threads (from 10 to 50) that open = a new=20 URLConnection<BR>to my server.<BR><BR><BR>&nbsp;&nbsp;&nbsp; URL=20 url&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs= p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp= ;&nbsp;&nbsp;=20 =3D new URL(the_url);<BR>&nbsp;&nbsp;&nbsp; HttpURLConnection = url_connection&nbsp;=20 =3D<BR>(HttpURLConnection)(url.openConnection());<BR>&nbsp;&nbsp;&nbsp;=20 InputStream=20 ins&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs= p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20 =3D url_connection.getInputStream();<BR><BR><BR>When my program has = about 10=20 threads I have this error message=20 :<BR><BR>Thread[Thread-29,6,main]:java.net.BindException: Address in = use: no=20 further<BR>information<BR><BR><BR>What's happen ? My tomcat&nbsp;Server = rejects=20 my connection . Is there some<BR>limitation on tomcat&nbsp;Server=20 ?<BR><BR><BR>Thanks.<BR><BR>Christopher.<BR><BR><BR><BR></FONT></DIV></BO= DY></HTML> ------=_NextPart_000_0085_01C0481B.C6866FF0-- From martinezcindy@example.org Tue Nov 7 02:22:55 2000 Return-Path: <martinezcindy@example.org> Mailing-List: contact martinezcindy@example.org; run by ezmlm Delivered-To: mailing list martinezcindy@example.org Received: (qmail 46450 invoked from network); 7 Nov 2000 02:22:55 -0000 Received: from hellfire.clearink.com (HELO clearink.com) (83.161.120.155) by locus.apache.org with SMTP; 7 Nov 2000 02:22:55 -0000 Received: from [83.161.120.155] ([83.161.120.155]) by clearink.com (8.10.2/8.10.2) with ESMTP id eA72Mtl32611 for <martinezcindy@example.org>; Mon, 6 Nov 2000 18:22:55 -0800 User-Agent: Microsoft-Outlook-Express-Macintosh-Edition/5.02.2022 Date: Mon, 06 Nov 2000 18:22:56 -0800 Subject: Re: Optimization From: Jon Stevens <martinezcindy@example.org> To: <martinezcindy@example.org> Message-ID: <martinezcindy@example.org> In-Reply-To: <martinezcindy@example.org> Mime-version: 1.0 Content-type: text/plain; charset="US-ASCII" Content-transfer-encoding: 7bit X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N on 11/6/2000 9:02 AM, "Christophe Gierski" <martinezcindy@example.org> wrote: > Hi, > > I create a program to test my servlets on an Tomcat Server. > > My program starts some threads (from 10 to 50) that open a new URLConnection > to my server. > > > URL url = new URL(the_url); > HttpURLConnection url_connection = > (HttpURLConnection)(url.openConnection()); > InputStream ins = url_connection.getInputStream(); > > > When my program has about 10 threads I have this error message : > > Thread[Thread-29,6,main]:java.net.BindException: Address in use: no further > information > > > What's happen ? My tomcat Server rejects my connection . Is there some > limitation on tomcat Server ? > > > Thanks. > > Christopher. > HELLO! This is the ORO-User list. You want the Tomcat-User list. -jon -- http://scarab.tigris.org/ | http://noodle.tigris.org/ http://java.apache.org/ | http://java.apache.org/turbine/ http://www.working-dogs.com/ | http://jakarta.apache.org/velocity/ http://www.collab.net/ | http://www.sourcexchange.com/ From martinezcindy@example.org Sat Nov 11 11:59:57 2000 Return-Path: <martinezcindy@example.org> Mailing-List: contact martinezcindy@example.org; run by ezmlm Delivered-To: mailing list martinezcindy@example.org Delivered-To: moderator for martinezcindy@example.org Received: (qmail 61682 invoked from network); 11 Nov 2000 11:59:57 -0000 Received: from unknown (HELO mail.gkn.it) (83.161.120.155) by locus.apache.org with SMTP; 11 Nov 2000 11:59:57 -0000 Received: (qmail 17464 invoked by uid 0); 11 Nov 2000 12:13:42 -0000 Received: from unknown (HELO NWIP.BTB) (unknown) by unknown with SMTP; 11 Nov 2000 12:13:42 -0000 Received: from ITB-Message_Server by NWIP.BTB with Novell_GroupWise; Sat, 11 Nov 2000 13:00:37 +0100 Message-Id: <martinezcindy@example.org> X-Mailer: Novell GroupWise 5.2 Date: Sat, 11 Nov 2000 12:59:00 +0100 From: "Werner Feichter" <martinezcindy@example.org> To: martinezcindy@example.org Subject: Probleme during creation of mod_jserv.so on HP-UX 11 Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N I use the APACHE 1.3.14 and TOMCAT 1.3 on HP-UX-11 and have to create the = mod_jserv.so=20 I run the following command to create it: cd /btb/sw/install/jakarta-tomcat/src/native/apache/jserv /btb/sw/apache/bin/apxs -c -o mod_jserv.so *.c and receive the following error: gcc -DHPUX11 -DUSE_HSREGEX -DUSE_EXPAT -I../lib/expat-lite -DNO_DL_NEEDED = -I/btb/sw/apache/include -c autochange.c gcc -DHPUX11 -DUSE_HSREGEX -DUSE_EXPAT -I../lib/expat-lite -DNO_DL_NEEDED = -I/btb/sw/apache/include -c jserv_ajpv11.c gcc -DHPUX11 -DUSE_HSREGEX -DUSE_EXPAT -I../lib/expat-lite -DNO_DL_NEEDED = -I/btb/sw/apache/include -c jserv_ajpv12.c gcc -DHPUX11 -DUSE_HSREGEX -DUSE_EXPAT -I../lib/expat-lite -DNO_DL_NEEDED = -I/btb/sw/apache/include -c jserv_balance.c gcc -DHPUX11 -DUSE_HSREGEX -DUSE_EXPAT -I../lib/expat-lite -DNO_DL_NEEDED = -I/btb/sw/apache/include -c jserv_image.c gcc -DHPUX11 -DUSE_HSREGEX -DUSE_EXPAT -I../lib/expat-lite -DNO_DL_NEEDED = -I/btb/sw/apache/include -c jserv_mmap.c gcc -DHPUX11 -DUSE_HSREGEX -DUSE_EXPAT -I../lib/expat-lite -DNO_DL_NEEDED = -I/btb/sw/apache/include -c jserv_protocols.c gcc -DHPUX11 -DUSE_HSREGEX -DUSE_EXPAT -I../lib/expat-lite -DNO_DL_NEEDED = -I/btb/sw/apache/include -c jserv_status.c gcc -DHPUX11 -DUSE_HSREGEX -DUSE_EXPAT -I../lib/expat-lite -DNO_DL_NEEDED = -I/btb/sw/apache/include -c jserv_utils.c gcc -DHPUX11 -DUSE_HSREGEX -DUSE_EXPAT -I../lib/expat-lite -DNO_DL_NEEDED = -I/btb/sw/apache/include -c jserv_watchdog.c gcc -DHPUX11 -DUSE_HSREGEX -DUSE_EXPAT -I../lib/expat-lite -DNO_DL_NEEDED = -I/btb/sw/apache/include -c jserv_wrapper.c gcc -DHPUX11 -DUSE_HSREGEX -DUSE_EXPAT -I../lib/expat-lite -DNO_DL_NEEDED = -I/btb/sw/apache/include -c jserv_wrapper_unix.c gcc -DHPUX11 -DUSE_HSREGEX -DUSE_EXPAT -I../lib/expat-lite -DNO_DL_NEEDED = -I/btb/sw/apache/include -c jserv_wrapper_win.c gcc -DHPUX11 -DUSE_HSREGEX -DUSE_EXPAT -I../lib/expat-lite -DNO_DL_NEEDED = -I/btb/sw/apache/include -c mod_jserv.c -o mod_jserv.so mod_jserv.o jserv_wrapper_win.o jserv_wrapper_unix.o = jserv_wrapper.o jserv_watchdog.o jserv_utils.o jserv_status.o jserv_protoco= ls.o jserv_mmap.o jserv_image.o jserv_balance.o jserv_ajpv12.o jserv_ajpv11= .o autochange.o=20 apxs:Break: Command failed with rc=3D16777215 Could help me someboy ????? regards=20 Werner Feichter From martinezcindy@example.org Sat Nov 11 20:20:12 2000 Return-Path: <martinezcindy@example.org> Mailing-List: contact martinezcindy@example.org; run by ezmlm Delivered-To: mailing list martinezcindy@example.org Received: (qmail 88564 invoked from network); 11 Nov 2000 20:20:12 -0000 Received: from hellfire.clearink.com (HELO clearink.com) (83.161.120.155) by locus.apache.org with SMTP; 11 Nov 2000 20:20:12 -0000 Received: from [83.161.120.155] ([83.161.120.155]) by clearink.com (8.10.2/8.10.2) with ESMTP id eABKKCl08657; Sat, 11 Nov 2000 12:20:12 -0800 User-Agent: Microsoft-Outlook-Express-Macintosh-Edition/5.02.2022 Date: Sat, 11 Nov 2000 12:20:18 -0800 Subject: Re: Probleme during creation of mod_jserv.so on HP-UX 11 From: Jon Stevens <martinezcindy@example.org> To: <martinezcindy@example.org> CC: Werner Feichter <martinezcindy@example.org> Message-ID: <martinezcindy@example.org> In-Reply-To: <martinezcindy@example.org> Mime-version: 1.0 Content-type: text/plain; charset="US-ASCII" Content-transfer-encoding: 7bit X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N on 11/11/2000 3:59 AM, "Werner Feichter" <martinezcindy@example.org> wrote: > Could help me someboy ????? No. This is the wrong list. You want martinezcindy@example.org. Serious Question: What made you think that sending email to the ORO-user list was the right place to get help about Tomcat? I'm really trying to figure out why so many people subscribe to this list and then ask questions about Tomcat (it seems to happen at least 2 times/week). I modified the website to make it more clear that this is a list about ORO Regular Expressions and not about Tomcat, but people like you don't seem to get it. :-( I would love to know what you were thinking so that I can make things clearer for others. thanks, -jon -- http://scarab.tigris.org/ | http://noodle.tigris.org/ http://java.apache.org/ | http://java.apache.org/turbine/ http://www.working-dogs.com/ | http://jakarta.apache.org/velocity/ http://www.collab.net/ | http://www.sourcexchange.com/ From martinezcindy@example.org Sun Nov 12 17:11:30 2000 Return-Path: <martinezcindy@example.org> Mailing-List: contact martinezcindy@example.org; run by ezmlm Delivered-To: mailing list martinezcindy@example.org Received: (qmail 49478 invoked from network); 12 Nov 2000 17:11:30 -0000 Received: from cc732840-a.hwrd1.md.home.com (HELO savarese.org) (83.161.120.155) by locus.apache.org with SMTP; 12 Nov 2000 17:11:30 -0000 Received: from chewie.savarese.org (chewie.savarese.org [83.161.120.155]) by savarese.org (8.9.3/8.9.3) with ESMTP id MAA02007 for <martinezcindy@example.org>; Sun, 12 Nov 2000 12:19:33 -0500 Received: from savarese.org (localhost [83.161.120.155]) by chewie.savarese.org (8.9.3/8.9.3) with ESMTP id MAA04922 for <martinezcindy@example.org>; Sun, 12 Nov 2000 12:10:56 -0500 Message-Id: <martinezcindy@example.org> X-Mailer: exmh version 2.0.3 To: martinezcindy@example.org Subject: Re: ORO speed In-reply-to: Your message of "Mon, 06 Nov 2000 10:47:06 CST." <martinezcindy@example.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sun, 12 Nov 2000 12:10:56 -0500 From: "Daniel F. Savarese" <martinezcindy@example.org> X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N >I'm running an older version or ORO that I've written a small benchtest >against the newer ORO from the Jakarta website. My benchtest shows that >the older version of ORO is about 20% faster than the newer version. Why >is this? There have been no changes in jakarta-oro that would result in a slowdown compared to the earlier version of the software. However, they were almost definitely compiled with different Java compilers, which may account for the difference (method inlining, or lack thereof, alone may be the cause). daniel From martinezcindy@example.org Sun Nov 12 17:14:47 2000 Return-Path: <martinezcindy@example.org> Mailing-List: contact martinezcindy@example.org; run by ezmlm Delivered-To: mailing list martinezcindy@example.org Received: (qmail 49835 invoked from network); 12 Nov 2000 17:14:47 -0000 Received: from cc732840-a.hwrd1.md.home.com (HELO savarese.org) (83.161.120.155) by locus.apache.org with SMTP; 12 Nov 2000 17:14:47 -0000 Received: from chewie.savarese.org (chewie.savarese.org [83.161.120.155]) by savarese.org (8.9.3/8.9.3) with ESMTP id MAA02017 for <martinezcindy@example.org>; Sun, 12 Nov 2000 12:22:50 -0500 Received: from savarese.org (localhost [83.161.120.155]) by chewie.savarese.org (8.9.3/8.9.3) with ESMTP id MAA04942 for <martinezcindy@example.org>; Sun, 12 Nov 2000 12:14:13 -0500 Message-Id: <martinezcindy@example.org> X-Mailer: exmh version 2.0.3 To: martinezcindy@example.org Subject: Re: making a pattern match across end of line separator In-reply-to: Your message of "Mon, 06 Nov 2000 15:17:21 CST." <81CC73FC2FACD311A2D200508B8B88AA1ADA91@kurion_exch.kurion.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sun, 12 Nov 2000 12:14:13 -0500 From: "Daniel F. Savarese" <martinezcindy@example.org> X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N >>It seems the making a match cross an end of line separator doesn't want >>to work in ORO. I've tried useing "/pattern/s" and compiling that, nada. ... >Sounds like the bug I encountered. >I attached the patch. Do a CVS checkout of the latest version. If I recall correctly, there are some correctness issues with the referenced patch, which were resolved when the actual fix was made. daniel From martinezcindy@example.org Sun Nov 12 17:27:22 2000 Return-Path: <martinezcindy@example.org> Mailing-List: contact martinezcindy@example.org; run by ezmlm Delivered-To: mailing list martinezcindy@example.org Received: (qmail 52526 invoked from network); 12 Nov 2000 17:27:22 -0000 Received: from cc732840-a.hwrd1.md.home.com (HELO savarese.org) (83.161.120.155) by locus.apache.org with SMTP; 12 Nov 2000 17:27:22 -0000 Received: from chewie.savarese.org (chewie.savarese.org [83.161.120.155]) by savarese.org (8.9.3/8.9.3) with ESMTP id MAA02027 for <martinezcindy@example.org>; Sun, 12 Nov 2000 12:35:24 -0500 Received: from savarese.org (localhost [83.161.120.155]) by chewie.savarese.org (8.9.3/8.9.3) with ESMTP id MAA04965 for <martinezcindy@example.org>; Sun, 12 Nov 2000 12:26:48 -0500 Message-Id: <martinezcindy@example.org> X-Mailer: exmh version 2.0.3 To: martinezcindy@example.org Subject: Re: OROMatcher-1.1 source? In-reply-to: Your message of "02 Nov 2000 09:55:05 +0100." <martinezcindy@example.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sun, 12 Nov 2000 12:26:48 -0500 From: "Daniel F. Savarese" <martinezcindy@example.org> X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N >the matching process will be time consuming and just terminate). I looked >forward to do that with the open source library, but everything connected >to streamed input has been removed. The streamed input approach was fundamentally flawed because of Perl's maximal matching, zero-width assertions, and other characteristics. See the following paper for an explanation: "On the Use of Regular Expressions for Searching Text", Clark and Cormack, ACM Transactions on Programming Languages and Systems, Vol 19, No. 3, pp 413-426. The situation is different for the DFA-based AWK package, which is still deficient because it can result in all of the input being read. You may wish to base your code on the AWK package's stream matching, but keep in mind that the only effective way of doing the stream matching is to either mandate minimal matching or use the 'expect' approach of defining some buffer size that slightly exceeds the maximum size of a match you expect to make. To be completely correct 100% of the time without any restrictions, you have to read all of the input, which makes stream matching pointless (which is why it was removed). >Therefore, I wonder if it would be possible to get the source code for the >1.1 version of OROMatcher. We would of course contribute all patches done. Pre-jakarta source code is not available for various legal reasons :( daniel From martinezcindy@example.org Tue Nov 14 17:48:12 2000 Return-Path: <martinezcindy@example.org> Mailing-List: contact martinezcindy@example.org; run by ezmlm Delivered-To: mailing list martinezcindy@example.org Received: (qmail 18690 invoked from network); 14 Nov 2000 17:48:12 -0000 Received: from mail.kurion.com (HELO kurion?exch.kurion.com) (83.161.120.155) by locus.apache.org with SMTP; 14 Nov 2000 17:48:12 -0000 Received: by kurion_exch.kurion.com with Internet Mail Service (5.5.2650.21) id <W5PGDNLF>; Tue, 14 Nov 2000 11:46:54 -0600 Message-ID: <81CC73FC2FACD311A2D200508B8B88AA1ADAAC@kurion_exch.kurion.com> From: Dan Lipofsky <martinezcindy@example.org> To: "'martinezcindy@example.org'" <martinezcindy@example.org> Subject: $0 in Perl5Substitution Date: Tue, 14 Nov 2000 11:46:53 -0600 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2650.21) Content-Type: text/plain; charset="iso-8859-1" X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N I notice that Perl5Substitution interprets $0 literally instead of as the whole match. It is documented to do this, so I can't exactly call it a bug, but it is very annoying. Why was it made this way? Can we change it? - Dan From martinezcindy@example.org Wed Nov 15 05:42:07 2000 Return-Path: <martinezcindy@example.org> Mailing-List: contact martinezcindy@example.org; run by ezmlm Delivered-To: mailing list martinezcindy@example.org Received: (qmail 18013 invoked from network); 15 Nov 2000 05:42:07 -0000 Received: from cc732840-a.hwrd1.md.home.com (HELO savarese.org) (83.161.120.155) by locus.apache.org with SMTP; 15 Nov 2000 05:42:07 -0000 Received: from chewie.savarese.org (chewie.savarese.org [83.161.120.155]) by savarese.org (8.9.3/8.9.3) with ESMTP id AAA04224 for <martinezcindy@example.org>; Wed, 15 Nov 2000 00:50:39 -0500 Received: from savarese.org (localhost [83.161.120.155]) by chewie.savarese.org (8.9.3/8.9.3) with ESMTP id AAA07383 for <martinezcindy@example.org>; Wed, 15 Nov 2000 00:41:29 -0500 Message-Id: <martinezcindy@example.org> X-Mailer: exmh version 2.0.3 To: martinezcindy@example.org Subject: Re: $0 in Perl5Substitution In-reply-to: Your message of "Tue, 14 Nov 2000 11:46:53 CST." <81CC73FC2FACD311A2D200508B8B88AA1ADAAC@kurion_exch.kurion.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Wed, 15 Nov 2000 00:41:29 -0500 From: "Daniel F. Savarese" <martinezcindy@example.org> X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N >I notice that Perl5Substitution interprets $0 >literally instead of as the whole match. It is >documented to do this, so I can't exactly call it >a bug, but it is very annoying. Why was it >made this way? Can we change it? Perl doesn't work this way: ~> echo foobar | perl -e 'while(<>) { s/f(o)o/{$0}/g; print; }' {-e}bar ~> echo foobar | perl -e 'while(<>) { s/f(o)o/{$1}/g; print; }' {o}bar $& provides the entire match: ~> echo foobar | perl -e 'while(<>) { s/f(o)o/{$&}/g; print; }' {foo}bar Granted, Perl doesn't interpret $0 literally in a substitution, but in the absence of a corresponding Java interpretation, the default should be to interpret it literally. Or should it? Maybe we should support $& instead? Things like $&, $', and $` start testing the boundary of what the regular expression package should handle, since they are not part of the regular expression syntax per se and are Perl internally tracked constructs. Backreference interpolations were clearly essential, but how far do we take it? It's not a rhetorical question. I'm really asking. Since the information can be extracted from MatchResult and you can subclass Perl5Substitution or write your own Substitution implementations, does it make sense to do more interpreting of a substitution rather than write Java code? daniel From martinezcindy@example.org Wed Nov 15 16:07:10 2000 Return-Path: <martinezcindy@example.org> Mailing-List: contact martinezcindy@example.org; run by ezmlm Delivered-To: mailing list martinezcindy@example.org Received: (qmail 420 invoked from network); 15 Nov 2000 16:07:10 -0000 Received: from mail.kurion.com (HELO kurion?exch.kurion.com) (83.161.120.155) by locus.apache.org with SMTP; 15 Nov 2000 16:07:10 -0000 Received: by kurion_exch.kurion.com with Internet Mail Service (5.5.2650.21) id <W5PGDN75>; Wed, 15 Nov 2000 10:05:47 -0600 Message-ID: <81CC73FC2FACD311A2D200508B8B88AA1ADAAF@kurion_exch.kurion.com> From: Dan Lipofsky <martinezcindy@example.org> To: "'martinezcindy@example.org'" <martinezcindy@example.org> Subject: RE: $0 in Perl5Substitution Date: Wed, 15 Nov 2000 10:05:46 -0600 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2650.21) Content-Type: text/plain; charset="iso-8859-1" X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N > >I notice that Perl5Substitution interprets $0 > >literally instead of as the whole match. It is > >documented to do this, so I can't exactly call it > >a bug, but it is very annoying. Why was it > >made this way? Can we change it? > > Perl doesn't work this way: > ~> echo foobar | perl -e 'while(<>) { s/f(o)o/{$0}/g; print; }' > {-e}bar > ~> echo foobar | perl -e 'while(<>) { s/f(o)o/{$1}/g; print; }' > {o}bar > Maybe we should support $& instead? Things like $&, $', and $` start > testing the boundary of what the regular expression package should > handle, since they are not part of the regular expression > syntax per se and are Perl internally tracked constructs. > Backreference interpolations were clearly essential, > but how far do we take it? I had ignorantly assumed Perl5 used $0 as the whole match. Learn something new each day. It is very useful to be able to reference the whole match. I would love to see $& supported. $' and $` are less important IMO. We could even call it $0 instead of $&, departing from Perl for something more intuitive. Yes, I could implement my own substitution class which did it, but I think it has good general use. - Dan From martinezcindy@example.org Wed Nov 15 18:56:38 2000 Return-Path: <martinezcindy@example.org> Mailing-List: contact martinezcindy@example.org; run by ezmlm Delivered-To: mailing list martinezcindy@example.org Delivered-To: moderator for martinezcindy@example.org Received: (qmail 59686 invoked from network); 15 Nov 2000 18:56:38 -0000 Received: from hub-slc.firsthealth.com (HELO email.firsthealth.com) (83.161.120.155) by locus.apache.org with SMTP; 15 Nov 2000 18:56:38 -0000 Received: from 83.161.120.155 by email.firsthealth.com with ESMTP ( Tumbleweed MMS SMTP Relay (MMS v4.7)); Wed, 15 Nov 2000 11:57:39 -0700 X-Server-Uuid: 4bf5d58d-3e8a-11d3-966e-00508b4fb619 Message-ID: <martinezcindy@example.org> Date: Wed, 15 Nov 2000 11:56:13 -0700 From: "Glen Early" <martinezcindy@example.org> Reply-to: martinezcindy@example.org Organization: First Health Group Corp. X-Mailer: Mozilla 4.72 [en] (WinNT; U) X-Accept-Language: en MIME-Version: 1.0 To: martinezcindy@example.org Subject: Install Apache/Tomcat on Windows 95 X-WSS-ID: 160C0329232841-01-01 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N Been reading the Tomcat minimalistic user's guide about installing Tomcat.When it gets to the part about TOMCAT_HOME, I get lost. Anybody know the steps to 1) get Tomcat installed , and 2) get Tomcat configured with Apache. Appreciate any help on this. I have both Apache and Tomcat installed, but when starting Tomcat, I get this message: "UNABLE TO FIND VALUE FOR TOMCAT_HOME". Apache runs fine by itself, and presents it's home page when requested. What do I put in the Apache config file (exact words) to connect with Tomcat. Tomcat is currently installed on C:\Tomcat\jakarta-tomcat\....I'm new at this, but have many years of mainframe experience. Glen Early martinezcindy@example.org From martinezcindy@example.org Thu Nov 16 03:23:01 2000 Return-Path: <martinezcindy@example.org> Mailing-List: contact martinezcindy@example.org; run by ezmlm Delivered-To: mailing list martinezcindy@example.org Received: (qmail 25036 invoked from network); 16 Nov 2000 03:23:01 -0000 Received: from mail.kurion.com (HELO kurion?exch.kurion.com) (83.161.120.155) by locus.apache.org with SMTP; 16 Nov 2000 03:23:01 -0000 Received: by kurion_exch.kurion.com with Internet Mail Service (5.5.2650.21) id <W5PGD3KR>; Wed, 15 Nov 2000 21:21:41 -0600 Message-ID: <81CC73FC2FACD311A2D200508B8B88AA1ADAB1@kurion_exch.kurion.com> From: Dan Lipofsky <martinezcindy@example.org> To: "'martinezcindy@example.org'" <martinezcindy@example.org> Subject: currentOffset in PatternMatcherInput Date: Wed, 15 Nov 2000 21:21:39 -0600 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2650.21) Content-Type: text/plain; charset="iso-8859-1" X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N I think that if a match fails that the currentOffset in PatternMatcherInput should not change. Instead it appears to move to the end of the string in the event of a failed match, which makes it hard to try another match from that point. What do y'all think? The man page for PatternMatcherInput says "the end offset of the last match is remembered, so that the next match is performed from that point where the last match left off. This offset can be accessed from the getCurrentOffset() method and ..." I interpret "last match" to mean "last successful match" not "last attempt". - Dan From martinezcindy@example.org Thu Nov 23 08:49:58 2000 Return-Path: <martinezcindy@example.org> Mailing-List: contact martinezcindy@example.org; run by ezmlm Delivered-To: mailing list martinezcindy@example.org Received: (qmail 53834 invoked from network); 23 Nov 2000 08:49:58 -0000 Received: from quake.bouncy.com (HELO bouncy.com) (83.161.120.155) by locus.apache.org with SMTP; 23 Nov 2000 08:49:58 -0000 Received: from bouncy.com by bouncy.com with SMTP (MDaemon.v83.161.120.155.R) for <martinezcindy@example.org>; Thu, 23 Nov 2000 09:54:17 +0100 Message-ID: <martinezcindy@example.org> Date: Thu, 23 Nov 2000 09:54:53 +0100 From: Manfred =?iso-8859-1?Q?Sch=E4fer?= <martinezcindy@example.org> Organization: Bouncy Bytes Software GmbH X-Mailer: Mozilla 4.7 [en] (WinNT; I) X-Accept-Language: en MIME-Version: 1.0 To: martinezcindy@example.org Subject: multiline error Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-MDaemon-Deliver-To: martinezcindy@example.org X-Return-Path: martinezcindy@example.org Reply-To: martinezcindy@example.org X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N Hi, i've discovered the multiline error with ^ and $. I've studied the old list messages and found, that it was one of the first bugs reported here. When will this bug be corrected ? I've got the patch, but is somebody out there, who is willingly to save me some time and send me a patched version ? thanx, manfred -- Manfred Schäfer Software Architect Research & Development ------------------------------------------------------------------------ Bouncy Bytes Software GmbH Robert-Bosch-Str. 5 D-63225 Langen Germany Phone: (326)290-1032 Fax: (326)290-1032 Web: http://www.bouncy.com synformation.com Web-Content-Management-System Synergize your information. ------------------------------------------------------------------------ From martinezcindy@example.org Fri Nov 24 05:01:28 2000 Return-Path: <martinezcindy@example.org> Mailing-List: contact martinezcindy@example.org; run by ezmlm Delivered-To: mailing list martinezcindy@example.org Received: (qmail 38139 invoked from network); 24 Nov 2000 05:01:28 -0000 Received: from cc732840-a.hwrd1.md.home.com (HELO savarese.org) (83.161.120.155) by locus.apache.org with SMTP; 24 Nov 2000 05:01:28 -0000 Received: from chewie.savarese.org (chewie.savarese.org [83.161.120.155]) by savarese.org (8.9.3/8.9.3) with ESMTP id AAA10586 for <martinezcindy@example.org>; Fri, 24 Nov 2000 00:11:49 -0500 Received: from savarese.org (localhost [83.161.120.155]) by chewie.savarese.org (8.9.3/8.9.3) with ESMTP id AAA14629 for <martinezcindy@example.org>; Fri, 24 Nov 2000 00:00:37 -0500 Message-Id: <martinezcindy@example.org> X-Mailer: exmh version 2.0.3 To: martinezcindy@example.org Subject: Re: multiline error In-reply-to: Your message of "Thu, 23 Nov 2000 09:54:53 +0100." <martinezcindy@example.org> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Date: Fri, 24 Nov 2000 00:00:37 -0500 From: "Daniel F. Savarese" <martinezcindy@example.org> X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N >here. When will this bug be corrected ? I've got the patch, but is This was fixed immediately and is in the latest CVS tree. daniel From martinezcindy@example.org Fri Nov 24 05:28:05 2000 Return-Path: <martinezcindy@example.org> Mailing-List: contact martinezcindy@example.org; run by ezmlm Delivered-To: mailing list
{'source': 'Apache Software Foundation Public Mail Archives'}