use Net::SSH::Perl; - подключаем Perl модуль, который будет работать с ssh протоколом.
my $host = '192.168.4.246'; - создаем переменную host, которой будет присвоен ip-адрес устройства Mikrotik.
my $user = 'asp'; - создаем переменную user и заносим имя администратора, которому разрешено подключаться по ssh протоколу к Mikrotik.
my $pass = 'asp'; - пароль администратора Mikrotik.
my $ssh = Net::SSH::Perl->new($host, protocol => '2,1', debug => 1);
$ssh->login($user, $pass); - выполняем подключение к Mikrotik.
my $username = 'user'; - создаем переменную username, в которой будет храниться имя создаваемого пользователя;
my $userpassword = 'user'; - создаем переменную userpassword, в которой будет храниться пароль создаваемого пользователя;
my $userip = '172.16.3.2'; - создаем переменную userip, в которой будет храниться IP адрес, нового пользователя.
$ssh->cmd("/ppp secret add name=$username password=$userpassword service=any profile=default local=172.16.1.1 remote=$userip"); - команда для создания нового пользователя на Mikrotik Routerboard, в которую будут подставлены переменные.
my $k = 'k'; - создаем переменную k. Она будет отображать единицы измерения.
my $speed = '1024'; - создаем переменную speed. В неё заносим значение скорости работы для нового пользователя.
$ssh->cmd("/queue simple add name=$username target-address=$userip max-limit=$speed$k/$speed$k"); - команда выполняемая на Mikrotik Routerboard, которая создаёт правило шейпера для нового пользователя.
Рис.3. Запуск скрипта.
Для запуска скрипта наберем в консоли: perl.mikrotik.pl