in reply to Obtaining perl's version from script

The Camel (3ed.) suggests this may give what you want:

my $perl_version = sprintf 'v%vd', $^V;

After Compline,
Zaxo

Replies are listed 'Best First'.
Re: Re: Obtaining perl's version from script
by Kanji (Parson) on Nov 12, 2002 at 03:56 UTC

    $^V isn't going to work for versions prior to 5.6.0, so $] may be the better option if you can't guarantee how old a version of Perl you'll be running.

    $ perl5.00503 -le 'print $]' 5.00503 $ perl5.6.0 -le 'print $]' 5.006 $ perl5.6.1 -le 'print $]' 5.006001

    Or, if you want to "pretty print" it...

    $ perl5.00503 -le 'printf "v%d.%d.%d\n", $] =~ /^(\d+)\.(\d{3})(\d*)/' v5.5.3 $ perl5.6.0 -le 'printf "v%d.%d.%d\n", $] =~ /^(\d+)\.(\d{3})(\d*)/' v5.6.0 $ perl5.6.1 -le 'printf "v%d.%d.%d\n", $] =~ /^(\d+)\.(\d{3})(\d*)/' v5.6.1

        --k.