Manipulação de Arquivos Orientada a Objetos

Publicado por Daniel Vinciguerra (última atualização em 24/02/2016)

[ Hits: 2.585 ]

Homepage: http://bivee.com.br

Download manipulando-arquivos.pl




Sabemos que Perl não é uma linguagem totalmente orientada a objetos e vejo muitas pessoas dizendo que trabalhar com o paradigma orientado a objetos em Perl é complicado ou que Perl fica impossível de ser lida.

A verdade é que a orientação a objetos em Perl é uma excelente prática e por muitas vezes faz com que seu código fique mais legível e organizado, fazendo com que você consiga reaproveitar seus códigos se você escrever suas aplicações da forma correta.

Abaixo vou mostrar de forma breve e simples como manipular arquivos usando a classe IO::File

  



Esconder código-fonte

#!/usr/bin/env perl 
# 2016 (c) Daniel Vinciguerra

# carrega os pragmas mais comuns
use 5.10.0;
use strict;
use warnings;

use IO::File;

# constante
my $FILE_PATH = 'file';

# iniciando um novo objeto IO::File para escrita
my $fout = IO::File->new($FILE_PATH, "w");
if(defined $fout){
    # escrevendo no arquivo
    say $fout "Ola Perl, este é um exemplo de escrita em arquivo!";
    $fout->close;
}

# verificando se o arquivo existe
say "Arquivo '${FILE_PATH}' encontrado!" if -e $FILE_PATH;


# iniciando um novo objeto IO::File para leitura
my $fin = IO::File->new($FILE_PATH, "r");
if(defined $fin){
    # lendo do arquivo
    say <$fin>;
    $fin->close;
}

Scripts recomendados

arruma_nomes.pl

Usando ARGV como login

Script para adicionar sites ao Squid

Processa todos os SlackBuild's

getter


  

Comentários
[1] Comentário enviado por removido em 24/02/2016 - 18:53h

Pensei que encontraria um exemplo do comando bless.

----------------------------------------------------------------------------------------------------------------
http://24.media.tumblr.com/tumblr_m62bwpSi291qdlh1io1_250.gif

# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden

[2] Comentário enviado por dvinciguerra em 24/02/2016 - 19:18h

Ola listeiro_037,

O comando bless do Perl serve exatamente para criar um objeto!

my $novo_obj = bless { nome => 'João' }, "Pessoa";

Na linha acima o primeiro parâmetro de bless deve ser uma referencia de hash e a segunda deve ser o nome da classe. Levando em conta isso, a forma correta de se criar uma classe em Perl seria usando o comando bless no retorno da sub new (construtor), conforme abaixo.

[code]
package Pessoa;

sub new {
my $class = shift;
return bless { nome => 'Joao' }, $class;
}

package main;

my $p = Pessoa->new;
print $p->{nome};
[/code]

Caso tenha alguma duvida sobre isso me chame em privado ou me mande um e-mail que lhe explico como tudo funciona!

Grande abraço,



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts