[vox-tech] dumb perl question

Jay Strauss vox-tech@lists.lugod.org
Sat, 12 Jan 2002 18:18:49 -0600


You could do:

#!/usr/bin/perl -w

$_ = "200.energy";

(my $temp = $_) =~ s/(\d+).*/$1/;

print $temp,"\n";

I'm sure everyone will come up with a different solution. TIMTOWTDI

----- Original Message -----
From: "Peter Jay Salzman" <p@dirac.org>
To: <vox-tech@lists.lugod.org>
Sent: Saturday, January 12, 2002 6:00 PM
Subject: Re: [vox-tech] dumb perl question


> 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
> _______________________________________________
> vox-tech mailing list
> vox-tech@lists.lugod.org
> http://lists.lugod.org/mailman/listinfo/vox-tech


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