[8177] in Perl-Users-Digest

home help back first fref pref prev next nref lref last post

Perl-Users Digest, Issue: 1796 Volume: 8

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Tue Feb 3 10:08:56 1998

Date: Tue, 3 Feb 98 07:01:48 -0800
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)

Perl-Users Digest           Tue, 3 Feb 1998     Volume: 8 Number: 1796

Today's topics:
    Re: perl and file system <jdporter@min.net>
        Perl in a datawarehouse environment <murali@jps.net>
    Re: Perl in a datawarehouse environment (Chris Nandor)
    Re: Perl Win32/ISAPI/DBI question <Tim.Bunce@ig.co.uk>
        Perlscript hangs on print (Patrick)
        print a integer with two decimal places <rippo@kc3.co.uk>
    Re: print a integer with two decimal places peter.edlund@capgemini.se
    Re: print a integer with two decimal places <westxga@ptsc.slg.eds.com>
    Re: print a integer with two decimal places (Clay Irving)
    Re: PROBLEM WITH gifs <simmona1@bp.com>
    Re: recursive regex? <spt@cstr.ed.ac.uk>
        RegEx anchors? \@ ? <nicholas.brenckle@yale.edu>
        Regex From Hell? <alexis@danae.demon.co.uk>
    Re: Regex From Hell? (Marek Rouchal)
    Re: Regex From Hell? (Lack Mr G M)
    Re: Regex From Hell? <mattias.lonnqvist@uidesign.se>
        Retrieving remote web page marlontan@hotmail.com
        Win32 CGI compiler ? <rsgdata@worldnet.fr>
    Re: Win32 CGI compiler ? (Richard Bellavance)
        Digest Administrivia (Last modified: 8 Mar 97) (Perl-Users-Digest Admin)

----------------------------------------------------------------------

Date: Tue, 03 Feb 1998 08:32:30 -0500
From: John Porter <jdporter@min.net>
Subject: Re: perl and file system
Message-Id: <34D71C6E.40D1@min.net>

Fabrice Gonton wrote:
> 
> Hello,
> 
> I'm running Perl 5.004_4 under Unix (Solaris 2.5.1 & OSF/1).
> I need to create a file in local fs. So I have to check on
> which fs I am. I've done that on Solaris with a statvfs syscall,
> and it runs well. But, on OSF/1 4.0, statvfs isn't a syscall.
> There's only statfs on OSF/1, and SUN annouced statfs syscall
> will be removed from its system in future release.
> 
> Is there a simple way to determine the fs ?

You know, this really isn't a Perl problem.

1. Try doing a search of the web for ref docs on this issue.
2. #ifdef the appropriate calls based on o.s.
3. `df`
4. Why do you need fs info just to create a file?

John Porter


------------------------------

Date: Tue, 3 Feb 1998 03:33:44 -0800
From: "Murali Kazhipurath" <murali@jps.net>
Subject: Perl in a datawarehouse environment
Message-Id: <34d6ffff.0@blushng.jps.net>

I am evaluating different tools to do  ETT (Extract, Transform and Transfer)
for a Oracle 7.3 datawarehouse application running under HP/UX 10.20.
Currently, we are using a combination of Unix Shell script, PowerHouse (from
Cognos) and SQL*Loader to do this process. I am in the process of evaluating
other options.

Is PERL a good tool for this?
What are the advantages of using PERL over regular shell scripts?
How good are the string manipulation capabilities of PERL? Is it fast?
Does PERL have a database interface?
Is it portable (Unix to Windows NT and vice  versa)?

I am looking forward to ideas, suggestions and thoughts. Please e-mail your
replies (murali@jps.net)
Thank you in advance.

Murali
(murali@jps.net)






------------------------------

Date: Tue, 03 Feb 1998 07:36:07 -0500
From: pudge@pobox.com (Chris Nandor)
Subject: Re: Perl in a datawarehouse environment
Message-Id: <pudge-0302980736080001@ppp-5.ts-1.kin.idt.net>

In article <34d6ffff.0@blushng.jps.net>, "Murali Kazhipurath"
<murali@jps.net> wrote:

# I am evaluating different tools to do  ETT (Extract, Transform and Transfer)
# for a Oracle 7.3 datawarehouse application running under HP/UX 10.20.
# Currently, we are using a combination of Unix Shell script, PowerHouse (from
# Cognos) and SQL*Loader to do this process. I am in the process of evaluating
# other options.
# 
# Is PERL a good tool for this?

Very.  See http://language.perl.com/ for more info about Perl in general.


# What are the advantages of using PERL over regular shell scripts?

Fully integrated, more powerful data structures and syntax, modularity and
code re-use, quicker turnaround, blah blah blah.


# How good are the string manipulation capabilities of PERL? Is it fast?

Very, and yes.


# Does PERL have a database interface?

Yes.  DBI (http://www.hermetica.com/technologia/DBI/).


# Is it portable (Unix to Windows NT and vice  versa)?

Mostly; it depends on whether or not you use platform-specific features. 
If you make system calls to sed, then it is not portable, for instance. 
The answer is: don't do that, and yes, it can be portable quite easily.

P.S.  There is no comp.lang.perl, hasn't been in existence for a long time.

-- 
Chris Nandor          mailto:pudge@pobox.com         http://pudge.net/
%PGPKey=('B76E72AD',[1024,'0824 090B CE73 CA10  1FF7 7F13 8180 B6B6'])
#==       New Book: MacPerl:  Programming for the Rest of Us       ==#
#==    Publishing Date: Early 1998. http://www.ptf.com/macperl/    ==#


------------------------------

Date: Tue, 3 Feb 1998 09:21:57 GMT
From: Tim Bunce <Tim.Bunce@ig.co.uk>
Subject: Re: Perl Win32/ISAPI/DBI question
Message-Id: <Ensq0M.A0t@ig.co.uk>

In article <34D0B06C.AB4F12D7@dfdis.com>,
Charlie Hatton  <hatton@dfdis.com> wrote:

> I've used
> DBI/DBD::Oracle extensively on Solaris, but my understanding is that the
> DBI/DBD::* available for Win32 is only compatible with the 'native' Perl
> port (man, that needs a more creative name) and not the ActiveState port.

The opposite is true.

Tim.



------------------------------

Date: Tue, 03 Feb 1998 22:48:54 GMT
From: Venice @ euronet.nl (Patrick)
Subject: Perlscript hangs on print
Message-Id: <6b77dc$ide$1@news.NL.net>

Case:

>From a web-browser, you access the cgi-script by the url, next the
script is busy with generating and printing the output. (lotta output)

Next, while it's still busy, press the STOP button on the browser.
(not a nice thing to do, but people do it)

As far as i know, the script keeps running till it finish his job.
Then exits clean and nice.

I found out, a script was stuck, i started debugging a little and i
found the script hangs on:

print "String" (where string = some text or html-tags, unimportant)

It hangs on a simple print command, not on a bad-loop or other
programming fault. I don't think it's the output since it's just plain
tekst and some HTML characters.
( </>., etc. )

When i changed $|=1 into $|=0 it didn't hang anymore. I don't know why
exactly, i mean, i know that it will buffer output, but i don't
understand why it doesn't hang anymore.

BUT it seems more scripts hang on a print-line, and for those scripts,
changing $| didn't have any results, they still hang on the print line
when people press STOP on the client.

Question: 
* Can anyone explain me those hanging scripts ?
* Can anyone explain me why $|=1 is different from $|=0 ? 
($|=1 prints directly to output, and $|=0 buffers till end of script
?)


I'm running:
WindowsNT server 3.51
Perl 5.003 (win32)
Netscape Suitespot 3

Patrick



------------------------------

Date: Tue, 03 Feb 1998 10:49:40 +0000
From: Richard Wilde <rippo@kc3.co.uk>
Subject: print a integer with two decimal places
Message-Id: <34D6F641.1C41@kc3.co.uk>

I wonder if  any one could help me:

I need to output an integer to two decimal places.
i.e. 

$total=4 
print $total; #this would print 4. I would need it to print 4.00

$total=6.5;
print $total; #this would print 6.5. I would need it to print 6.50

Thanks for your time
Rippo
kc3
http://www.kc3.co.uk


------------------------------

Date: 3 Feb 1998 13:38:36 GMT
From: peter.edlund@capgemini.se
Subject: Re: print a integer with two decimal places
Message-Id: <6b76ks$3fn$2@news.capgemini.se>

>I need to output an integer to two decimal places.

turning an int to a 'float' works in perl just as (not sure if it's _exactly_ though) it does in the standard C library functions sprintf etc.
i.e. to get a float you use 'f' like in:

$int = 4; # you can ofcourse use any number here (6.5, 4.5235236236 etc)
$float = sprintf ("%.2f", $int);
print "float: $float\n";

STDOUT> 4.00

//peter.
-- 
-------------------------
Peter Edlund
UNIX development engineer
Cap Gemini
peter.edlund@capgemini.se


------------------------------

Date: Tue, 03 Feb 1998 09:08:32 +0000
From: Glenn West <westxga@ptsc.slg.eds.com>
Subject: Re: print a integer with two decimal places
Message-Id: <34D6DE90.21D3@ptsc.slg.eds.com>

Richard Wilde wrote:
> 
> I wonder if  any one could help me:
> 
> I need to output an integer to two decimal places.
> i.e.
> 
> $total=4
> print $total; #this would print 4. I would need it to print 4.00
> 
> $total=6.5;
> print $total; #this would print 6.5. I would need it to print 6.50
> 

The C language convention of printf works for me:

printf "%.2f", $total;


------------------------------

Date: 3 Feb 1998 09:38:31 -0500
From: clay@panix.com (Clay Irving)
Subject: Re: print a integer with two decimal places
Message-Id: <6b7a57$kue@panix.com>

In <34D6F641.1C41@kc3.co.uk> Richard Wilde <rippo@kc3.co.uk> writes:

>I wonder if  any one could help me:

>I need to output an integer to two decimal places.
>i.e. 

>$total=4 
>print $total; #this would print 4. I would need it to print 4.00

>$total=6.5;
>print $total; #this would print 6.5. I would need it to print 6.50

My head is going to explode.

Please do just a little bit of work before you post a question!

For example:

 - DejaNews <http://www.dejanews.com>
  - Click on "Search Filter"
   - Enter comp.lang.perl.misc in the "Groups" box.
    - Click on "Create Filter"
     - Enter: decimal places
      - Click on "Find"

Result:

       Date   Scr        Subject                 Newsgroup            Author
 
 1. 98/02/03 037 print a integer with two dec comp.lang.perl.misc   Richard Wi
 2. 98/01/25 035 Decimal places               comp.lang.perl.misc   Brad Grove
 3. 98/01/25 035 Re: Decimal places           comp.lang.perl.misc   Tom Phoenix
 4. 98/01/25 035 Re: Decimal places           comp.lang.perl.misc   Chipmunk  
 5. 98/02/02 034 Re: How do we use a decimal  comp.lang.perl.misc   Anthony Da
 6. 98/01/30 033 Please help!                 comp.lang.perl.misc   Andrew Cha
 7. 98/01/25 033 Re: Decimal places           comp.lang.perl.misc   Honza Pazd
 8. 98/01/25 033 Re: Decimal places           comp.lang.perl.misc   brian d foy
 9. 98/02/01 032 Re: Please help!             comp.lang.perl.misc   Michael Bud
10. 96/07/31 030 Re: to display decimal place comp.lang.perl.misc   Mick Farme
11. 96/07/29 030 re: to display decimal place comp.lang.perl.misc   Freda Leon
12. 98/01/30 029 Re: Please help!             comp.lang.perl.misc   Mike Stok
13. 98/01/21 029 Re: FORTRAN format, help!    comp.lang.perl.misc   Martin Co
14. 97/12/08 029 Help! Formating numeric prin comp.lang.perl.misc   Michael V
15. 97/11/16 029 Newbie Question              comp.lang.perl.misc   Brian   
16. 97/11/08 029 Formatting Decimals..        comp.lang.perl.misc   Ryan Rose
17. 97/07/20 029 Re: getting rid of decimal p comp.lang.perl.misc   Tom Phoenix
18. 97/07/20 029 Re: getting rid of decimal p comp.lang.perl.misc   Tad McClel
19. 97/07/19 029 getting rid of decimal place comp.lang.perl.misc   Eric Beck
20. 96/08/14 029 Rounding to Decimal Places   comp.lang.perl.misc   Trent Wise
21. 96/08/14 029 Re: Rounding to Decimal Plac comp.lang.perl.misc   Jeremy Aug
22. 97/12/16 028 localtime() _is_ year-2000 c comp.lang.perl.misc   Michael Bu
23. 97/12/08 028 Re: Help! Formating numeric  comp.lang.perl.misc   David Gay
24. 97/11/27 028 $x.xx in PERL                comp.lang.perl.misc   perrella 
25. 97/11/26 028 Re: Formatting Decimals..    comp.lang.perl.misc   William R.

[ followed by 171 more matches ]

In other words, this question is asked so frequently in the newsgroup that
it's probably an FAQ. Let's check www.perl.com:

 - http://www.perl.com
  - Select FAQ's on the sidebar <http://language.perl.com/faq/index.html>
   - Select "As individual HTML pages on a CPAN mirror."
     <http://www.perl.com/CPAN-local/doc/manual/html/pod/perlfaq.html>
    - Select "perlfaq4: Data Manipulation"
      <http://www.perl.com/CPAN-local/doc/manual/html/pod/perlfaq4.html>
     - Select "Does perl have a round function? What about ceil() and 
       floor()? Trig functions? 
       <http://www.perl.com/CPAN-local/doc/manual/html/pod/perlfaq4/Does_perl_have_a_round_function_.html>

-- 
Clay Irving <clay@panix.com>                  I think, therefore I am. I think? 
http://www.panix.com/~clay/


------------------------------

Date: 3 Feb 1998 11:53:24 GMT
From: "\\a" <simmona1@bp.com>
Subject: Re: PROBLEM WITH gifs
Message-Id: <01bd309a$47044180$8acd66a1@eubpcw710.lon.cuk.bp.com>

> I wrote a very simple script to send HTML back to browser.  

Your query may be better addressed in comp.infosystems.www.authoring.cgi 
than a perl ng ... 

> The HTML all
> loads, but the images dont. Instead, the Windows default viewer for gifs
> is spawned, and the images load there????

 ... or a group related to (MS) Windows ...  

An ill-informed guess : did you try
setting your browser as the default image viewer ?

> I'm using Win95[a] and a Netscape Fast Trak Server for my developing.
>
> Stephan Carydakis   > steph@hotkey.net.au


That is unfortunate.

hope this helps,

\a





------------------------------

Date: 03 Feb 1998 13:40:06 +0000
From: Richard Caley <spt@cstr.ed.ac.uk>
Subject: Re: recursive regex?
Message-Id: <eyhoh0ox0w9.fsf@liddell.cstr.ed.ac.uk>

In article <6b59qk$ori$1@cyprus.atlantic.net>, Chip Salzenberg (cs) writes:

cs> Actually, just such a thing is under active design work even as we
cs> type at each other here.  Probably won't be in 5.005, but you might
cs> expect to see it in 5.006.

Could I put in a vote for a readable syntax. extending the current
regex syntax is getting silly. Something verbose and understandable
would be a godsend.

-- 
Mail me as rjc not spt@cstr.ed.ac.uk		_O_
						 |<



------------------------------

Date: Tue, 03 Feb 1998 14:47:25 +0000
From: Nicholas Brenckle <nicholas.brenckle@yale.edu>
Subject: RegEx anchors? \@ ?
Message-Id: <34D72DFD.F365E078@yale.edu>

 I have a file with a series of unpredictable inputs. Could be any of
the following

firstname lastname user@host
singlname user@host
user@host
<user@host>
alot of silly info user@host some more info

 I want to grab ONLY the user @ host info but I cant seem to get it. Can
I anchor on the @ sign in an expression? Ie: (\w+\@\w+) to give
word@word?

-Nick

--
----------------------------------------------------------------------------
Nicholas Brenckle                                 nicholas.brenckle@yale.edu
Technology Operations                                         (203) 785-4566
Yale School of Medicine              PO Box 208089, New Haven, CT 06520-8089





------------------------------

Date: 03 Feb 1998 12:49:44 GMT
From: Alexis Huxley <alexis@danae.demon.co.uk>
Subject: Regex From Hell?
Message-Id: <enszmw.awx@danae.demon.co.uk>

Hi

To spot strings consisting of alternately one of the characters a, b, c followed
by one of x, y, z, with six characters in the whole string I use this:

	perl -ne 'print if (/^([abc][xyz]){3}$/)'

This matches things like 'azazaz' or 'axbycz' or 'bzbzbz'.

Now suppose that I want to allow any number of any of the characters to be
repeated after their current positions. So that, for instance, 'azazaz' could
become 'aaaaaaaazazazzzzzzzzz'. I expected that I could put round brackets
around each square bracketed term (meaning "remember this") and then put
'\1*' and '\2*' after each of them (meaning "followed by any number of the
remembered character") giving:

	perl -ne 'print if (/^(([abc])\1*([xyz])\2*){3}$/)'

But that fails with 'aazaazaaz' which I believe it should pass. Interestingly
'azaazaaaz' passes. What's going on?

As an extension of the same problem, it is my understanding that the '\1' thing
means "match what the first bracketed thing matched". Is there any way
to make it mean "match *anything* that the first bracketed regex *could* have
matched" ? Specifically, my concern is that with the '{3}' the second
and third repetition of the previous regex must contain the *particular 
character* from the abc and xyz sets that was matched first time round, and 
*not* anything from the *set*. What I mean is that if the above regex worked 
as expected then I would then expect 'aazbbzccz' to fail since the \1 would be 
'a' and so the second repetition, encountering '\1' again would force it to be 
'a' rather than '[abc]' as I intended. I sort of want \1 to remember something 
new second and third time round. Obviously I could use:

	perl -ne 'print if (/^([abc])\1*([xyz])\2*([abc])\3*([xyz])\4*([abc])\5*([xyz])\6*$/)'

but I simplified the '{3}' for this article; the original was '{3,}'.

Thanks for struggling through my long sentences, and if you have any light
to shed then I'd be grateful. Thanks.

Alexis
-- 
Alexis Huxley                                             Delfyn on IRC (EFNet)
alexis@danae.demon.co.uk                                      Email key: 549812
http://www.danae.demon.co.uk/                PGP key, CV, Unix S/W, info, Rilke
"I think you think I can't think"               Program in 1991 BCM Turing Test


------------------------------

Date: 3 Feb 1998 14:49:26 +0100
From: Marek.Rouchal@hl.siemens.de (Marek Rouchal)
Subject: Re: Regex From Hell?
Message-Id: <6b7796$gs2@buffalo.HL.Siemens.DE>

In article <enszmw.awx@danae.demon.co.uk>, Alexis Huxley <alexis@danae.demon.co.uk> writes:
> Now suppose that I want to allow any number of any of the characters to be
> repeated after their current positions. So that, for instance, 'azazaz' could
> become 'aaaaaaaazazazzzzzzzzz'. I expected that I could put round brackets
> around each square bracketed term (meaning "remember this") and then put
> '\1*' and '\2*' after each of them (meaning "followed by any number of the
> remembered character") giving:
> 
> 	perl -ne 'print if (/^(([abc])\1*([xyz])\2*){3}$/)'
> 
> But that fails with 'aazaazaaz' which I believe it should pass. Interestingly
> 'azaazaaaz' passes. What's going on?

Did you notice that you already start a bracket before the ([abc])\1*
part? Try this, works for the example:

perl -ne 'print if (/^(([abc])\2*([xyz])\3*){3}$/)'
                      ^                    ^
                      this is \1, ends here|
HTH,

Marek



------------------------------

Date: Tue, 03 Feb 1998 13:33:07 GMT
From: gml4410@ggr.co.uk (Lack Mr G M)
Subject: Re: Regex From Hell?
Message-Id: <1998Feb3.133307@ukwit01>

In article <enszmw.awx@danae.demon.co.uk>, Alexis Huxley <alexis@danae.demon.co.uk> writes:
|> Hi
|>...
|> Now suppose that I want to allow any number of any of the characters to be
|> repeated after their current positions. So that, for instance, 'azazaz' could
|> become 'aaaaaaaazazazzzzzzzzz'. I expected that I could put round brackets
|> around each square bracketed term (meaning "remember this") and then put
|> '\1*' and '\2*' after each of them (meaning "followed by any number of the
|> remembered character") giving:
|> 
|> 	perl -ne 'print if (/^(([abc])\1*([xyz])\2*){3}$/)'
|>
|> But that fails with 'aazaazaaz' which I believe it should pass. Interestingly
|> 'azaazaaaz' passes. What's going on?
|> 

   Try:

 perl -ne 'print if (/^(?:([abc])\1*([xyz])\2*){3}$/)'
                        ^^

   Looks as though the problem is that the surrounding match is getting
set to \something.

|> As an extension of the same problem, it is my understanding that the '\1' thing
|> means "match what the first bracketed thing matched". Is there any way
|> to make it mean "match *anything* that the first bracketed regex *could* have
|> matched" ? 

   Yes.  Replace \1 with whatever regexp was inside those first parentheses:-).

|>                                  Obviously I could use:
|> 
|> 	perl -ne 'print if (/^([abc])\1*([xyz])\2*([abc])\3*([xyz])\4*([abc])\5*([xyz])\6*$/)'
|> 
|> but I simplified the '{3}' for this article; the original was '{3,}'.

   Ok, so you knew that.  Seems as though you are worried about it all
getting to much to look at/maintain etc.

   However, I also suspect t`hat you can remove all of these \n
references anyway.  Why not use + instead of (.)\n*?

   You can also set a few variables and use them, if it helps... 

$abcs = '[abc]+';       # One or more a's or b's or c's
$xyzs = '[xyz]+';       # One or more x's or y's or z's.

   Then it becomes:

perl -ne '$abcs = "[abc]+";$xyzs = "[xyz]+";   
   print if (/^${abcs}${xyzs}${abcs}${xyzs}${abcs}${xyzs}$/)'

(ok, the variables have probably made this worse, but if your real case
is different it might help).


-- 
----------- Gordon Lack ----------------- gml4410@ggr.co.uk  ------------
The contents of this message *may* reflect my personal opinion.  They are
*not* intended to reflect those of my employer, or anyone else.


------------------------------

Date: Tue, 03 Feb 1998 15:42:46 +0100
From: "Mattias Lvnnqvist" <mattias.lonnqvist@uidesign.se>
Subject: Re: Regex From Hell?
Message-Id: <34D72CE5.64833EED@uidesign.se>



Alexis Huxley wrote:

> Hi
>
> To spot strings consisting of alternately one of the characters a, b, c followed
> by one of x, y, z, with six characters in the whole string I use this:
>
>         perl -ne 'print if (/^([abc][xyz]){3}$/)'
>
> This matches things like 'azazaz' or 'axbycz' or 'bzbzbz'.
>
> Now suppose that I want to allow any number of any of the characters to be
> repeated after their current positions. So that, for instance, 'azazaz' could
> become 'aaaaaaaazazazzzzzzzzz'. I expected that I could put round brackets
> around each square bracketed term (meaning "remember this") and then put
> '\1*' and '\2*' after each of them (meaning "followed by any number of the
> remembered character") giving:
>
>         perl -ne 'print if (/^(([abc])\1*([xyz])\2*){3}$/)'

Actually, what I think you want to do is this:

((a|b|c)+(x|y|z)+)+


Meaning 1 or more of either a, b or c followed by  1 or more of  either x, y or z and repeat at
least one time.

That would give :

#!/usr/bin/perl

$_ = "aaaaaaaazazazzzzzzzzz";

if (/((a|b|c)+(x|y|z)+)+/){
    print "Match!\n";
}


Now, as you probably note, this will also match things like aaabaazzzzazazzz.
So, assuming what you meant rather was:

((a exor b exor c)+(x exor y exor z)+)+

Now, afaik, Perl doesnt have an exor operation, and while its simple to create one (  a exor b = (
(a or b) and ( (a and not b) or (not a and b))) ) lets take another approach:

This could be rewritten as:

((a+x+)|(b+x+)|(c+x+)|...|(x+z+))+

(And, it probably could be shortened. I've just not used regular expressions much the last few
years, and I dont use Perl that much)

This leads us to the following:

#!/usr/bin/perl

$string1 = "aaaaaaaazazazzzzzzzzz";

print "Before: $string1\n";
$string1 =~ s/((a|b|c)+(x|y|z)+)+//;
print "After:  $string1\n";

$string1="aaabzazazzzzzzzz";
$string2 = "aaaaaaaazazazzzzzzzzz";
print "Before: $string1 \& $string2\n";

$string1 =~ s/(^((a+z+)|(b+z+)))+//; #shortened version of regexp, due to writers laziness :)
$string2 =~ s/^(((a+z+)|(b+z+)))+//;
print "After:  $string1 \& $string2\n";


Which gives the following print out

Before: aaaaaaaazazazzzzzzzzz
After:
Before: aaabzazazzzzzzzz & aaaaaaaazazazzzzzzzzz
After:  aaabzazazzzzzzzz &

Eg, the string we want to match (aaaaaaazazazzzzz) is matched, but not the string we dont want to
match (aaabzazazzzz).

Please note that this is written by someone who once learned regular expressions in a formal
languages course, and I dont use them much in Perl, which means I dont use all these neat tricks
with saving in variables, etc, etc, which probably could have shortened the expression a lot.

HTH,

/Mattias






--
* I've stopped faking my email, that is NOT an invitation to spam *
* Mattias Lonnqvist  * M. Sc. C. Sc. , Software consultant        *
* Main coder MiT     * http://www.envy.com/~tyme                  *
* c64 addict         * http://www.ctrl-c.liu.se/~malo/            *
*       -----> I speak for myself, and myself only ! <-----       *




------------------------------

Date: Tue, 03 Feb 1998 07:35:13 -0600
From: marlontan@hotmail.com
Subject: Retrieving remote web page
Message-Id: <886512275.1285488648@dejanews.com>

To whom it may concern:

  Do you know how to retrive remote web pages using CGI Script?  What if
the remote page does not exist? It is just generated by another CGI
Script? How would you tell the other server to generate the page and give
it to you?  Thank you and more power.

Sincerely yours,
Marlon Tan

-------------------==== Posted via Deja News ====-----------------------
      http://www.dejanews.com/     Search, Read, Post to Usenet


------------------------------

Date: Tue, 03 Feb 1998 14:38:05 -0500
From: rsgdata <rsgdata@worldnet.fr>
Subject: Win32 CGI compiler ?
Message-Id: <34D7721D.6B99@worldnet.fr>

Hello,

I'm a novice in Perl. I make CGI scripts with Perl on Windows 95 with a
local server.

I want to make an hybrid CDROM with Internet explorer and some
cgi-scripts. But I want to protect my scripts on the CDROM because they
are in editable ASCII.

Can I compile my CGI scripts in Win32 .exe or in java ?

If not, how can I protect my sources (binary encryption or other ?)

	Christophe BOVIO - Student in Paris. - rsgdata@worldnet.fr


------------------------------

Date: 3 Feb 1998 09:44:01 -0500
From: charlot@CAM.ORG (Richard Bellavance)
Subject: Re: Win32 CGI compiler ?
Message-Id: <6b7afh$otc@ocean.CAM.ORG>

In article <34D7721D.6B99@worldnet.fr>, rsgdata  <rsgdata@worldnet.fr> wrote:
>
>I want to make an hybrid CDROM with Internet explorer and some
>cgi-scripts. But I want to protect my scripts on the CDROM because they
>are in editable ASCII.
>
>Can I compile my CGI scripts in Win32 .exe or in java ?
>
>If not, how can I protect my sources (binary encryption or other ?)
>

Well, since they're on a CD-ROM, nobody will be able to delete or edit them,
so they are quite well protected, aren't they ?    :-)

Richard, who couldn't resist.

[serious hint: look on DejaNews for a recent thread on this matter]
-- 
Richard Bellavance -- charlot@cam.org -- http://www.cam.org/~charlot/
    "All along this path I tread  /  My heart betrays my weary head
     With nothing but my love to save / From the cradle to the grave"
                                 (Eric Clapton, "From the cradle")


------------------------------

Date: 8 Mar 97 21:33:47 GMT (Last modified)
From: Perl-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin) 
Subject: Digest Administrivia (Last modified: 8 Mar 97)
Message-Id: <null>


Administrivia:

The Perl-Users Digest is a retransmission of the USENET newsgroup
comp.lang.perl.misc.  For subscription or unsubscription requests, send
the single line:

	subscribe perl-users
or:
	unsubscribe perl-users

to almanac@ruby.oce.orst.edu.  

To submit articles to comp.lang.perl.misc (and this Digest), send your
article to perl-users@ruby.oce.orst.edu.

To submit articles to comp.lang.perl.announce, send your article to
clpa@perl.com.

To request back copies (available for a week or so), send your request
to almanac@ruby.oce.orst.edu with the command "send perl-users x.y",
where x is the volume number and y is the issue number.

The Meta-FAQ, an article containing information about the FAQ, is
available by requesting "send perl-users meta-faq". The real FAQ, as it
appeared last in the newsgroup, can be retrieved with the request "send
perl-users FAQ". Due to their sizes, neither the Meta-FAQ nor the FAQ
are included in the digest.

The "mini-FAQ", which is an updated version of the Meta-FAQ, is
available by requesting "send perl-users mini-faq". It appears twice
weekly in the group, but is not distributed in the digest.

For other requests pertaining to the digest, send mail to
perl-users-request@ruby.oce.orst.edu. Do not waste your time or mine
sending perl questions to the -request address, I don't have time to
answer them even if I did know the answer.


------------------------------
End of Perl-Users Digest V8 Issue 1796
**************************************

home help back first fref pref prev next nref lref last post