l i n u x - u s e r s - g r o u p - o f - d a v i s
L U G O D
 
Next Meeting:
September 2: Social gathering
Next Installfest:
TBD
Latest News:
Aug. 18: Discounts to "Velocity" in NY; come to tonight's "Photography" talk
Page last updated:
2001 Dec 30 17:11

The following is an archive of a post made to our 'vox-tech mailing list' by one of its subscribers.

Report this post as spam:

(Enter your email address)
[vox-tech] Help with a regex
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vox-tech] Help with a regex



I've been quiet for a while, so I figured I'd ask a regex question.  I got
help initially from this list.  Here is my problem:

This regex almost works correctly.  The idea is to take a long string and
break it into pieces of maximum $lineLen long.  But, it must only break on
whitespace.  Then print each piece.  It works perfect if the string ends in
whitespace.  But not so good otherwise:

#!/usr/bin/perl -w
use strict;

my $lineLen = 20;
my %s;

$s{1}= "If you supply a backup directory and a saveQty, ".
      "you must also supply a pattern to match against. The pattern ".
      "is the same as you'd use in an 'ls' command, if you were to ".
      "generate a list of directories. ";

$s{2}= "If you supply a backup directory and a saveQty, ".
      "you must also supply a pattern to match against. The pattern ".
      "is the same as you'd use in an 'ls' command, if you were to ".
      "generate a list of directories.";

my $str = $s{$ARGV[0]};

foreach my $chunk ($str =~ m/\G(.{1,$lineLen})\s+/gso) {
   print $chunk,"\n";
}

print "\n***right hand stuff: ",$',"\n";

__END__


Notice how the second run leaves stuff in the right hand side of the match.
I can't seem to get it to work.  I can fix it by evaluating the $' var but
I'd prefer not to use
that memory var (cause this code sits in a common package).

[o817]/home/jstrauss/bin> tmp 1
If you supply a
backup directory and
a saveQty, you must
also supply a
pattern to match
against. The pattern
is the same as you'd
use in an 'ls'
command, if you were
to generate a list
of directories.

***right hand stuff:

[o817]/home/jstrauss/bin> tmp 2
If you supply a
backup directory and
a saveQty, you must
also supply a
pattern to match
against. The pattern
is the same as you'd
use in an 'ls'
command, if you were
to generate a list
of

***right hand stuff: directories.

Thanks
As always
Jay



Jay Strauss
jjstrauss@yahoo.com


_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com



LinkedIn
LUGOD Group on LinkedIn
Sign up for LUGOD event announcements
Your email address:
facebook
LUGOD Group on Facebook
'Like' LUGOD on Facebook:

Hosting provided by:
Sunset Systems
Sunset Systems offers preconfigured Linux systems, remote system administration and custom software development.

LUGOD: Linux Users' Group of Davis
PO Box 2082, Davis, CA 95617
Contact Us

LUGOD is a 501(c)7 non-profit organization
based in Davis, California
and serving the Sacramento area.
"Linux" is a trademark of Linus Torvalds.

Sponsored in part by:
Appahost Applications
For a significant contribution towards our projector, and a generous donation to allow us to continue meeting at the Davis Library.