Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
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 surveying the Monastery: (3)
As of 2014-09-15 04:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite cookbook is:










    Results (145 votes), past polls