#!/usr/bin/perl # make sure to set this string to # the corresponding remote in /etc/lircd.conf $remote_name = "vip"; sub change_channel { my($channel_digit) = @_; system ("irsend SEND_ONCE $remote_name $channel_digit"); sleep .5; } $channel=$ARGV[0]; system ("irsend SEND_ONCE $remote_name select"); sleep 1; if (length($channel) > 3) { change_channel(substr($channel,0,1)); change_channel(substr($channel,1,1)); change_channel(substr($channel,2,1)); change_channel(substr($channel,3,1)); } elsif (length($channel) > 2) { change_channel(substr($channel,0,1)); change_channel(substr($channel,1,1)); change_channel(substr($channel,2,1)); } elsif (length($channel) > 1) { change_channel(substr($channel,0,1)); change_channel(substr($channel,1,1)); } else { change_channel(substr($channel,0,1)); } system ("irsend SEND_ONCE $remote_name select");