Как люди программируют на этом языке? ППЦ
По роду деятельности приходится изучать это и после Perl такая тоска накатывает шоппц.
В процессе изучения пытаюсь ради интереса попереписывать свои простейшие скрипты которыми пользуюсь повседневно.
Например есть у меня скрипт «если курсор мыши в правом верхнем углу экрана, то не давать включать screensaver».
В нем есть такой вот блок, определяющий подключенные мониторы и их конфиг:
#!/usr/bin/perl
use 5.20.0;
use YAML;
my %list;
open my $fh, '-|', '/usr/bin/xrandr';
while(<$fh>) {
if (/^(\S+)\sconnected\s+(primary\s+)?(\d+)x(\d+)([+-]\d+)([+-]\d+)/) {
$list{$1} = {
name => $1,
w => $3,
h => $4,
x => int($5),
y => int($6),
primary => $2 ? 1 : 0
}
}
}
print YAML::Dump \%list;
Запускаем - рассказывает о подключенных мониторах в машиночитаемом виде:
---
DP-1:
h: 1440
name: DP-1
primary: 0
w: 2560
x: 2560
y: 0
DP-2-1:
h: 1440
name: DP-2-1
primary: 0
w: 2560
x: 0
y: 0
eDP-1:
h: 1080
name: eDP-1
primary: 1
w: 1920
x: 1280
y: 1440
вроде что может быть проще?
Однако пытаемся переписать это на python и натыкаемся:
- что open - не умеет работать с пайпами
- что про пайпы велосипедят 100500 модулей
- что у строк есть 100500 методов, но работа с регекспами вынесена в какой-то ужасно сдизайненный модуль `re`
- что эти 20 строк кода на Python превратятся в 200
и как вы с этим живете, мозахисты?