Aice5 in Wonder RADIO

PlaggerEFTで楽々ゲット、とか思ってたけど、JavaScriptで切り替わる画像とかが面倒。ので普通にスクリプトを書いてしまった。
ファイル名からフォルダを作って、画像とasfをダウンロード。
こうしてまたスクリプトが増えてしまった。気軽に書けすぎするのって欠点なのかも。

use strict;
use warnings;
use LWP::Simple;

my $url = 'http://www.starchild.co.jp/artist/aice5/radio/';
my $asx = 'aice_radio.asx';
my $html = 'radio.html';

my $asf = get($url.$asx);
$asf ? print "Fetched: $asx\n" : die "Fail to fetch: $asx\n";

my $media = ( $asf =~ m!((?:http|mms)://.*?\.(?:wmv|wsx|wma|asf))!g )[0];
$media ? print "Found: $media\n" : die "Can't find any asf in asx.\n";

my $filename = ( $media =~ m|/([^/]+?)$|g )[0];
my $dirname = ( $filename =~ m|^(.+)_|g )[0];
mkdir $dirname unless -d $dirname;
chdir $dirname;

my $res = get($url.$html);
$res ? print "Fetched: $url$html\n" : die "Fail to fetch: $url$html\n";

print "GET images... ";
while ($res =~ /radio_text([1-9])\.gif/g) {
  my $img = "radio_photo$1.jpg";
  (-f $img) ? next : getstore($url.$img, $img);
  print "$img ";
  sleep 1;
}
print "\n";

(-f $filename)
   ? print "Already exists $filename\n"
   : system('mplayer', '-dumpstream', $media, '-dumpfile', $filename);

asfがasxファイルの最初に書かれているものだけしか取ってこない。サーバーが忙しいときは切り替えたいけど、どうしたらよいものか。