Code: Select all
#!"C:\xampp\perl\bin\perl.exe"
# tv.cgi
#print "Content-type: text/plain\n\n";
use warnings;
use strict;
use Net::UPnP::ControlPoint;
my $upnp = Net::UPnP::ControlPoint->new();
my @devs = $upnp->search();
my $tv;
foreach my $dev ( @devs ) 
{
   foreach my $serv ( $dev->getservicelist() )
   {
      if ( $serv->getservicetype() =~ /TVAgent/ )
      {
         $tv = $serv;
         last;
      }
   }
}
die "TVAgent not found\n" unless $tv;
my $res = action( 'GetCurrentExternalSource' );
print "?????";
print "$res->{CurrentExternalSource}";
print "%%%%%";
if($res->{CurrentExternalSource} == 'TV')
{
	$res = action( 'GetCurrentMainTVChannel' );
	if($res->{CurrentChannel} =~ /<MajorCh>(.+?)<\/MajorCh>/)
	{
		print "$1";
		print "@@@@@";
	}else{
		print "Something went wrong";
	}
}
exit 0;
# -----------------------------------------------------------------------------
sub action
{
   my ( $act, $args ) = @_;
   my $r = $tv->postaction( $act, $args );
   unless ( 200 == $r->getstatuscode() )
   {
      die "Error $act: ". $r->getstatuscode()."\n";
   }
   my $res = $r->getargumentlist();
   unless ( 'OK' eq $res->{Result} )
   {
      die "Error $act response $res->{Result}\n";
   }
   return $res;
}
# -----------------------------------------------------------------------------
__END__And? How do i open .dat files? eg. the channel list from GetChannelListURL?
Cheers!