Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Simplify constant value determination

by Tomte (Priest)
on Aug 25, 2006 at 16:21 UTC ( #569613=perlquestion: print w/ replies, xml ) Need Help??
Tomte has asked for the wisdom of the Perl Monks concerning the following question:

Hi,
to allow for determination exactly which version of a program runs (and produces errors), I have the following statement to fetch the subversion revision-number in my code

use constant REVISION => eval { ( $_ = '$Id: mcdt.pl 2081 2006-08-25 16:16:27Z tomte $' ) =~ s/\$Id: mcdt.pl (\d+) .*/$1/; $_; };
While I think its reasonable and not too ugly, I wonder if theres a more concise/elegant way of retrieving the revision-number as a constant.

Edit: elimininated /g modifier

regards,
tomte


An intellectual is someone whose mind watches itself.
-- Albert Camus

Comment on Simplify constant value determination
Select or Download Code
Re: Simplify constant value determination
by friedo (Prior) on Aug 25, 2006 at 16:36 UTC
    How about:

    use constant REVISION => q$Id: mcdt.pl 2081 2006-08-25 16:16:27Z tomte $ =~ /pl (\d+)/;
Re: Simplify constant value determination
by ysth (Canon) on Aug 25, 2006 at 16:37 UTC
    Since you seem to just want the first group of digits:
    use constant REVISION => ('$Id: mcdt.pl 2081 2006-08-25 16:16:27Z tomt +e $' =~ /(\d+)/g)[0];
    should do it. No need for eval or substitution here.

    Update: grr, I don't use g-less m// in list context often enough to remember what it returns.

    use constant REVISION => '$Id: mcdt.pl 2081 2006-08-25 16:16:27Z tomte + $' =~ /(\d+)/;

      the last one is what i was looking for - thanks and ++ysth - the wood for the trees etc. :)

      regards,
      tomte


      An intellectual is someone whose mind watches itself.
      -- Albert Camus

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://569613]
Approved by Thelonius
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (8)
As of 2014-12-20 20:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (98 votes), past polls