http://code.google.com/p/get-flash-videos/
Also see PAR::WebStartsub update { if($::SCRIPT_NAME) { my $browser = FlashVideo::Mechanize->new; $browser->get("http://get-flash-videos.googlecode.com/svn/wiki/Ver +sion.wiki"); if(!$browser->response->is_success) { die "Unable to retrieve version data: " . $browser->response->st +atus_line; } my $version = ($browser->content =~ /version: (\S+)/)[0]; my $base = ($browser->content =~ /from: (\S+)/)[0]; my $info = ($browser->content =~ /info: (\S+)/)[0]; my $url = $base . $::SCRIPT_NAME . "-" . $version; die "Unable to parse version data" unless $version and $base; my @v = split /\./, $version; my @V = split /\./, VERSION; my $newer = 0; my $i = 0; for(@v) { $newer = 1 if !defined $V[$i] || $_ > $V[$i]; last if $V[$i] > $v[$i]; $i++; } if($newer) { info "Newer version ($version) available, downloading.."; die "Cannot update -- unable to write to $0\n" unless -w $0; my $new_file = $0 . ".new"; $browser->mirror($url, $new_file); if($browser->response->is_success && -f $new_file) { rename $0, "$0.old" or die "Unable to rename $0 to $0.old: $!" +; rename $new_file, $0 or die "Unable to rename $new_file to $0: + $!"; chmod 0755, $0; info "New version installed as $0"; info "(previous version backed up to $0.old)."; info $info; exit 0; } else { die "Download failed: " . $browser->response->status_line; } } else { print STDERR "You already have the latest version.\n"; } } else { info "Development version, not updated"; } update_plugins(); }
In reply to Re: Checking for latest version
by Anonymous Monk
in thread Checking for latest version
by rsiedl
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |