my $urlmask = 'http://radiostorm.com/%s'; my %pls; my $config = < $t[0] ,js => $t[1], pls => $t[2]} } split "\n", $config; my $template = "%12s %s\n" . ' ' x 14 . "%s\n"; while (1) { for (@radio) { printf $template, $_->{caption}, getjs($_->{js}), getpls($_->{pls}); } print "\n" . ('- _ ' x 20) . "\n\n"; sleep 60; } sub getjs { my $js = shift; return unless $js; my ($t) = mget($js) =~ /"([^"]+)"/; return $t; } sub getpls { my $pls = shift; unless ($pls{$pls}) { my $file = mget($pls); my $num = $file =~ s/^(File\d=)/$1/gm; ($pls{$pls}) = $file =~ m!File$num=(.+)!; } return $pls{$pls}; } sub mget { return get sprintf($urlmask, shift); }