Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Curso de Inglês Online

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Justificador de texto com Perl

Colaboração: Gustavo Chaves

Data de Publicação: 04 de Agosto de 2000

Aproveitando a deixa da mensagem sobre o justificador de texto com sed, enviada pelo Aurelio, o Gustavo me enviou um script similar que realiza a tarefa com perl:

  #!/usr/bin/perl -w
  # justify - justify text lines.
  # $Id: justify,v 1.2 2000/07/21 20:01:33 gustavo Exp $
  
  $columns = 65;
  
  while (<>) {
      s/\s+$/\n/;			      # trim trailing spaces
      next unless $columns > length;    # skip big lines
      @words   = split /(?<=\S)\s+/;    # split it preserving leading spaces
      $inter   = @words - 1;	      # number of interword spaces
      next unless $inter > 0;	      # skip single worded and blank lines
      $length  = 0;
      $length += length foreach @words; # sum up the size of the words
      $spaces  = $columns - $length;    # how many spaces for the line
      $blanks  = int($spaces / $inter); # how many spaces for each interword
      $extra   = $spaces % $inter;      # extra spaces due to rounding
      next if ($blanks + !!$extra) > 5; # skip if we have to add too much space
      # Go on, rebuild the line.
      $_       = '';
      for ($i=0; $i<$inter; ++$i) {
  	$_ .= $words[$i] . ' ' x ($blanks + ($i<$extra));
      }
      $_ .= $words[$i] . "\n";
  } continue {
      print;
  }

Veja a relação completa dos artigos de Gustavo Chaves

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 2.99/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1060 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

Objective-C Fundamental