inter forum

Главная категория => Программирование => Raku (ex Perl 6) => Тема начата: inter 🐵 от 04 Август 2018, 21:17:17

Название: [Perl 6] How to run external programs?
Отправлено: inter 🐵 от 04 Август 2018, 21:17:17
Я покажу как выполнять внешние программы из скрипта на perl 6.

Например вам нужно посмотреть список названий ваших баз данных mysql.

Вот код:

use v6;

# https://docs.perl6.org/language/ipc#The_Proc_object

my $p = run 'mysql', '-uroot', '-ppassword', :in, :out, :err;
$p.in.say('SHOW DATABASES;');
$p.in.close;

my $captured-error  = $p.err.slurp: :close;
my $exit-code       = $p.exitcode;

for $p.out.lines.kv -> $k, $v {
next if $k == 0; # Skip 'Database'
say $v;
}

$p.out.close;

say '';
say 'Error: ', $captured-error.trim-trailing;
say 'Exit Code: ', $exit-code;

Я думаю, что здесь не нужно объяснять, просто изучите внимательно код. Также сами поиграйтесь с функциями run (https://docs.perl6.org/routine/run#(IO)_sub_run), shell (https://docs.perl6.org/routine/shell#(IO)_sub_shell).