Perl OO & Atributos com Class::Accessor
O intuito deste script foi mostrar como pode ser fácil criar classes com atributos e accessors através do Class::Accessor. OBSERVAÇÂO: Este script depende do módulo Class::Accessor... para instalar o mesmo segue o comando: $ sudo perl -MCPAN -e "install Class::Accessor" PERL DOC Class::Accessor: http://search.cpan.org/~kasei/Class-Accessor-0.34/lib/Class/Accessor.pm
Por: Daniel Vinciguerra
Tratando Exceções com o Perl
O tratamento de exceções é uma parte importante de todo projeto pois isso determina o quão bom e preciso será o feedback do seu sistema para que se detecte mais facilmente um problema. Como sempre, aqui não tem segredo... existe mais de uma forma de se fazer tratamento de exceções em Perl e tudo vai depender do seu contexto e de como você quer trabalhar com as exceções. Você pode usar um tratamento nativo, usar algum dos diversos módulos para tratamento de exceções, trata-las como string (default) ou como objetos. No seu projeto você que vai mandar e determinar como você quer fazer as coisas. Vamos ver neste script algumas formas de se tratar exceções para elucidar como podemos dar nossos primeiros passos para fazer o tratamento de exceções da nossa aplicação. PRÉ-REQUISITOS - perl 5.10 ou superior - Módulo Try::Tiny instalado ($ cpan Try::Tiny) REFERÊNCIAS http://perldoc.perl.org/functions/die.html http://perldoc.perl.org/functions/eval.html https://metacpan.org/pod/Try::Tiny EXECUTANDO $ perl exception.pl
Por: Daniel Vinciguerra
string_out: remova a primeira ocorrência de uma string em um arquivo de texto
Cambada de clicadores, aqui começa mais um Script do Dino® trazendo para todos uma ferramenta útil ou curiosa. Hoje temos o string_out, que remove a primeira ocorrência de uma string em um arquivo de texto. Divirtam-se com ela!
Por: Luís Fernando C. Cavalheiro
Script de compilação automática do GCC-5.3.0 para Debian/Ubuntu de 32 bits
Script de compilação automática do GCC para Ubuntu, Debian, Mint, Trisquel 12.04+ de 32 bits. Ele baixa e instala todas as dependências e compiladores automaticamente. Como executar: $ time sudo bash scriptgcc-5.3.0_32BITS.sh Pagina do projeto: https://sourceforge.net/projects/scriptkernel/files/?source=navbar
Por: Mário RPG
Compilação do kernel linux-libre 4.4.6 com cflags -march=native + -Ofast
Script em bash para compilação automática do kernel Linux-libre 4.4.6 no Ubuntu/Debian/Mint/Trisquel 32/64 bits para PC/notebooks que tenham no mínimo 2 GB de memória RAM. Ele baixa e compila tudo automaticamente usando "CFLAGS -MARCH=NATIVE + Ofast", só sendo necessário escolher a arquitetura exata do seu processador no menuconfig. Como executar no terminal: $ time sudo bash scriptkernel-libre-4.4.6.sh Página do projeto: http://sourceforge.net/projects/scriptkernel/
Por: Mário RPG
duplex_record: mixando áudio do microfone e saída de áudio de um programa via P
Clicadores e servos da Canonical, aqui começa mais um Script do Dino® trazendo para todos vocês mais uma loucura qualquer do tempo em que os dinossauros eram vivos e o Sílvio Santos vendia o Carnê do Baú para eles. No Script de hoje, vamos aprender como mixar o áudio do microfone com a saída de áudio de um programa via PulseAudio. Mixagem é o procedimento pelo qual dois canais de áudio distintos se transformam em um único. Assim, com este Script você pode mixar o áudio do microfone com a saída de um outro programa (por exemplo, o VLC) e enviar a mixagem para um outro programa (seguindo o exemplo, enviar a mixagem pelo Hangouts para que um amigo possa escutar uma música que você esteja a reproduzir localmente). COMO USAR Usage duplex_record [-c | -C | -L | -h | -v ] [ -m arg ] [ -l arg ] Options -c Required: create two virtual sinks -C Required: delete virtual sink. Ignores -m and -l options -m arg Optional: name virtual mic sink (default: Mic) "arg" must be a single-word, no quotes, no special characters, string -l arg Optional: name virtual line sink, (default: Line) "arg" must be a single-word, no quotes, no special characters, string -L Show GPLv3 licence abstract, ignores -m and -l options -h Show this help, ignores -m and -l options -v Show version and changelog info, ignores -m and -l options In case -c, -C, -L, -h or -v being issued at same time, only the last one will be considered</div> Escrevi em inglês porque isso pode ser útil não apenas para nós, Brasileiros. COMO FUNCIONA O Script do Dino® cria dois sumidouros virtuais (nomes padrão: Virtual_Mic e Virtual_Line), liga o monitor do segundo sumidouro virtual ao sumidouro padrão e ao primeiro sumidouro virtual via loopback, e então liga o primeiro sumidouro ao sumidouro padrão por loopback. Na prática, isso traça o seguinte mapa de áudio: Microfone (l) Saída de áudio de um programa ------> segundo sumidouro virtual (m)> primeiro sumidouro virtual (m)> sumidouro padrão Legenda: (l)> redirecionamento por loopback (m)> redirecionamento pelo monitor O truque aqui reside no uso sagaz e maroto dos monitores e dos loopbacks de sumidouros. O monitor é um canal do sumidouro que permite que ele seja escutado por outro sumidouro (monitorado é o termo certo). Já o loopback é um canal do sumidouro que permite a gravação da saída de áudio daquele sumidouro. Com este Script do Dino®, a saída do microfone padrão é enviado via loopback pro primeiro sumidouro virtual. Quando o programa é instruído a usar o segundo sumidouro virtual como sua saída de áudio (via pavucontrol), envia-se o loopback do monitor tanto para a saída padrão de áudio (para permitir que você escute o que está sendo reproduzido) quanto para o primeiro sumidouro virtual. Assim, o primeiro sumidouro virtual recebe ao mesmo tempo o microfone e o segundo sumidouro virtual. Para direcionar o resultado dessa mixagem para algum programa que aceite entrada de áudio (desde o Audacity até o Google Hangouts), basta apenas configurar, via pavucontrol, o programa que receberá o áudio para usar o monitor do primeiro sumidouro virtual (o PulseAudio não permite gravação direta de sumidouros virtuais).
Por: Luís Fernando C. Cavalheiro
Separando seu código em módulos no Perl
Hoje vamos ver como separar nosso código para que a gente possa agrupar vários métodos comuns em um mesmo módulo, facilitando assim a manutenção, refatoração e reaproveitamento dos códigos dos nossos scripts. O MÓDULO - Módulos, assim como as classes no Perl, são nomeados através de package (namespace) - Os módulos Perl podem ter a API no estilo procedural ou orientada a objetos - metacpan.org/pod/Exporter permite que seus subs seja chamados sem a necessidade de usar o namespace O módulo que veremos abaixo serve apenas como introdução e é diferente dos módulos que são publicados no CPAN (cpan.org) por diversas questões técnicas. Meu intuito aqui foi introduzir o leitor ao reaproveitamento dos seus códigos e ao princípio de uso de módulos para tornar seu trabalho mais profissional, organizado e para gerar curiosidade sobre a colaboração de códigos em Perl. Você pode construir módulos com qualquer finalidade, porém quando estiver desenvolvendo em Perl, dê uma passadinha no CPAN e procure pelo modulo que você esta precisando para saber se ninguém já implementou algo parecido e que atenda as suas necessidades. PRÉ-REQUISITOS - perl 5.10 ou superior REFERÊNCIAS http://perldoc.perl.org/perlmodstyle.html https://en.wikipedia.org/wiki/Perl_module EXECUTANDO $ perl module.pl
Por: Daniel Vinciguerra
Scalar - Alguns dos usos mais comuns deste tipo de variável do Perl
Perl possui alguns tipos de variáveis muito interessantes cujos principais são representados por $ para scalares, @ para arrays e % para arrays associativos ou hashtables. O tipo mais versátil da lista acima na minha opinião é o Scalar. A variável Scalar no Perl pode assumir valores unitarios como referencias de outros tipos, filehandles, objetos, etc... EXEMPLO DE SCALAR: my $string = 'Isso é uma Scalar em Perl'; Esta Scalar, no contexto acima, esta sendo utilizada como string mais a verdade é que ela pode assumir diversos outros tipos de valores como veremos neste script abaixo. PRÉ-REQUISITOS - perl 5.10 ou superior REFERÊNCIAS http://perldoc.perl.org/perlintro.html#Perl-variable-types http://perldoc.perl.org/perlref.html EXECUTANDO $ DEBUG=1 perl scalars.pl
Por: Daniel Vinciguerra
Instalação Completa e Configuração Básica do Void Linux
A Fundação da Confiança Digital: A Importância Estratégica de uma PKI CA na Segurança de Dados
Como enviar dicas ou artigos para o Viva o Linux
Como Ativar a Aceleração por GPU (ROCm) no Ollama para AMD Navi 10 (RX 5700 XT / 5600) no Gentoo
Samba 4 AD-DC 2026: Backup & Restore
Samba 4 AD-DC 2026: LAPS (Randomizando senhas locais).
Cairo Dock ainda funcional nos dias de hoje
Configuração de IP fixo via nmcli e resolução de nomes via /etc/hosts no Gentoo









