Первое что я выучил в процессе познавания программирования, это что не надо изобретать велосипед. Многое из того что нужно уже написали и умение найти и склеить нужные части не менее важно чем умение писать код. Конечно писать самому интереснее но сейчас не об этом :)
Perl это кровь интернета а CPAN это очень важная часть этого языка.
В определенный момент, мне понадобился один из модулей XML. Так как десктоп у меня Debian Lenny(почти тезка) я решил сделать это в debian-way и установил его через apt. Модуль установился вместе со всеми dependencies и тут я понял, что я не обратил внимание на то что он установил. Решив проверить уже установленные модули, я наткнулся на определенную проблему, оказалось что сделать это простой коммандой не так то просто.
Возможно кому-то это будет полезно. Потребуется модуль File::Find.
Perl это кровь интернета а CPAN это очень важная часть этого языка.
В определенный момент, мне понадобился один из модулей XML. Так как десктоп у меня Debian Lenny(почти тезка) я решил сделать это в debian-way и установил его через apt. Модуль установился вместе со всеми dependencies и тут я понял, что я не обратил внимание на то что он установил. Решив проверить уже установленные модули, я наткнулся на определенную проблему, оказалось что сделать это простой коммандой не так то просто.
Возможно кому-то это будет полезно. Потребуется модуль File::Find.
#! /usr/bin/perl -l use strict; use warnings; use File::Find::Rule; my @seen; for my $path (@INC) { for my $file (File::Find::Rule->name('*.pm')->in($path)) { my $module = substr($file, length($path)+1); $module =~ s/.pm$//; # убираем из названий окончание файлов $module =~ s{[\\/]}{::}g; # меняем /\ на :: для читабельности. push (@seen, $module); } } print join("\n", (sort { lc($a) cmp lc($b) } @seen)), "\n"; #сортировка по имени и печать Разумеется можно пайпить и показывать модули по wildcard. К примеру, допустим что название скрипта: findmodule.pl. root@debian:~# perl findmodule.pl | grep -i snmp SNMP_Session SNMP_util