[vox-tech] dumb perl question
Peter Jay Salzman
vox-tech@lists.lugod.org
Sat, 12 Jan 2002 16:00:57 -0800
hi jim,
thanks for helping me out!
the string that i'm matching though is $_, not $temperature. $_ holds a
filename, like "100.energy", and i'd like to extract the "100" from the
filename and put it in $temperature.
doesn't
$temperature =~ s/(\d+).*/$1/;
assume that $temperature is the object holding "100.energy"?
note that i'm being greedy here -- this DOES work:
/(\d+).*/; # match "100" in $_
$temperature = $+; # put it in $temperature
i just want to do it in a single line. :) also, i'd like to do it
without destroying the contents of $_ if possible.
pete
begin Jim Angstadt <jimajima9@yahoo.com>
> --- Peter Jay Salzman <p@dirac.org> wrote:
> <snip>
> > /(\d+).*/;
> > $temperature = $+;
>
> $1 holds the \d+ matching, because it has parens.
> Multiple sets of parens will match $1, $2, ... based
> on the left to right order of the parens.
>
> If $temperature already had one or more digits \d+ and
> some other junk, replace digits and junk with digits:
>
> $temperature =~ s/(\d+).*/$1/;
>
> Note, if $temperature has a newline character in the
> middle somewhere, then .* will not match it.
>
> ---
> Jim
>
> __________________________________________________
> Do You Yahoo!?
> Send FREE video emails in Yahoo! Mail!
> http://promo.yahoo.com/videomail/
> _______________________________________________
> vox-tech mailing list
> vox-tech@lists.lugod.org
> http://lists.lugod.org/mailman/listinfo/vox-tech
--
The mathematics [of physics] has become ever more abstract, rather than more
complicated. The mind of God appears to be abstract but not complicated.
He also appears to like group theory. -- Tony Zee's `Fearful Symmetry'
PGP Fingerprint: B9F1 6CF3 47C4 7CD8 D33E 70A9 A3B9 1945 67EA 951D