#!/usr/bin/env perl use strict; my $distrib; my $pkg = shift; if ($pkg eq '-p') { $distrib = 1; $pkg = shift; } $pkg or die <; close IN; # Find where our version should come from. if ($ver_from =~ /VERSION_FROM.*?=>\s*([^,]+)/) { # Eval to remove quotes. $ver_from = eval qq{$1}; } else { die "Can't find VERSION_FROM for $pkg"; } # Okay, find the version from the $VERSION line. open IN, "$dir/$ver_from" or die "$dir/$ver_from: $!"; my ($ver) = grep /\$VERSION/, ; close IN; if ($ver =~ /VERSION\s*=\s*(\S+)\s*;/) { $ver = eval qq{$1}; } else { die "No version for $pkg in $ver_from"; } print STDERR "version = $ver\n"; if ($distrib) { # Tidy up and package. system "cp -rp $dir $dir-$ver"; system "cd $dir-$ver; make clean; rm ./*~"; system "perl -i -pe 's/#VERSION#/$ver/' $dir-$ver/README"; system "tar czvf $dir-$ver.tgz $dir-$ver"; }