# get the versions in context locate .pm | grep 'pm$' | xargs | xargs grep -C2 '$VERSION.*=' > versions-C2 # find the interesting versions perl -nle 'if(/\.pm:(.*)/){s/\d/1/g;print}' versions-C2 | sort -u | less # find the popular versions (w/ roughly canonical lines) perl -nle 'if(/\$VERSION.*=/) { s/.*\.pm://; s/\s+/ /g; s/\d+/1/g; print }' \ versions-C2 | sort | uniq -c | sort -rn | head -n 10 | nl #### 1 1892 $VERSION = "1.1"; 2 916 our $VERSION = "1.1"; 3 247 $VERSION = 1.1; 4 243 our $VERSION = 1.1; 5 194 use SVK::Version; our $VERSION = $SVK::VERSION; 6 113 $VERSION = eval $VERSION; 7 87 our $VERSION = do{my@r=(q$Revision:1.1$=~/\d+/g);sprintf"%d."."%1d"x$#r,@r}; 8 67 $VERSION = sprintf("%d.%02d", q$Revision:1.1$ =~ /(\d+)\.(\d+)/); 9 56 $VERSION = "1.02_01"; 10 51 ($VERSION) = sprintf '%i.%03i', split(/\./, \# break for pm.org ("$Revision: 2.6$"=~/Revision:(\S+)\s/)[1]); #$Date: 2007/05/07 20:33:46 $ #### ( $VERSION = q($Id: Tidy.pm,v 1.64 2007/05/08 20:01:45 perltidy Exp $) ) =~ s/^.*\s+(\d+)\/(\d+)\/(\d+).*$/$1$2$3/; # all one line for MakeMaker #### # SVK::* modules: use SVK::Version; our $VERSION = $SVK::VERSION; # In SVK::Version itself: use version; our $VERSION = qv(2.0.2); #### # 2005.082401 $VERSION = 2005.0824_01; # 5.402212 $VERSION = sprintf "%.6f", substr(q$Rev: 2212 $,4)/1000000 + 5.4; $VERSION = (qw$LastChangedRevision: 388 $)[1]; # 12.009530 $VERSION = sprintf("12.%06d", q$Id: DBD.pm 9530 2007-05-09 13:05:23Z timbo $ =~ /(\d+)/o); $VERSION = 1.19_01; # ^ ^^ ^^-- Incremented at will # | \+----- Incremented for non-trivial changes to features # \-------- Incremented for fundamental changes #### use Our::Config ( application => 'app-name', version => (our $VERSION = '3.1'), config => \$config, );