+ Responder ao Tópico



  1. Preciso contar o comprimento de uma String que possui alguns caracteres especiais como cedilha e etc.

    Problema: A função length < length - perldoc.perl.org >
    conta em Bytes, e como caracteres especiais contam 2 bytes me bagunça todo meu sistema.

    Alguém tem uma solução para isto de forma bonita?

    Estou pensando em fazer uma consulta no MySQL somente para contar isto

  2. Citação Postado originalmente por macafe Ver Post
    Preciso contar o comprimento de uma String que possui alguns caracteres especiais como cedilha e etc.

    Problema: A função length < length - perldoc.perl.org >
    conta em Bytes, e como caracteres especiais contam 2 bytes me bagunça todo meu sistema.

    Alguém tem uma solução para isto de forma bonita?

    Estou pensando em fazer uma consulta no MySQL somente para contar isto
    amigo fiz o seguinte teste

    my $string = "çãõá\n";
    chomp($string);
    my $length = length($string);
    print "$length\n";

    e dá 4 caractes certinho!

    intaum o pode ta acontecendo é o CR \n ou espaço que tbm conta!
    no caso uso o chomp para remover o CR.



  3. Citação Postado originalmente por andersoneduardo Ver Post
    amigo fiz o seguinte teste

    my $string = "çãõá\n";
    chomp($string);
    my $length = length($string);
    print "$length\n";

    e dá 4 caractes certinho!

    intaum o pode ta acontecendo é o CR \n ou espaço que tbm conta!
    no caso uso o chomp para remover o CR.

    Então cara...

    no meu server isto retorna 8

    cardoso@lm-devel:~/perl/prodesp_bslm$ cat temp.pl
    my $string = "çãõá\n";
    chomp($string);
    my $length = length($string);
    print "$length\n";
    cardoso@lm-devel:~/perl/prodesp_bslm$ perl -w temp.pl
    8
    cardoso@lm-devel:~/perl/prodesp_bslm$

  4. cara!

    do seguinte jeito:
    Calango# cat teste.pl
    #!/bin/perl -w
    use warnings;
    use strict;
    use Encode;

    my $string = "ç";
    chomp($string);
    my $length = encode("utf8" , $string);
    my $length2 = length($length);
    print "$length2\n";
    Calango# perl teste.pl
    2
    Calango#



    outro jeito:

    Calango# cat teste.pl
    #!/bin/perl -w
    use warnings;
    use strict;
    use Encode;

    my $string = "ç";
    chomp($string);
    my $length = encode("iso-8859-1" , $string);
    my $length2 = length($length);
    print "$length2\n";
    Calango# perl teste.pl
    1
    Calango#


    intaum pareçe que o seu padrão tá utf8 tenta codificar para iso-8859-1 como fiz em cima para ver!






Tópicos Similares

  1. Respostas: 2
    Último Post: 16-11-2006, 13:16
  2. Shell Script: como trocar um trecho de uma string dentro de uma variavel?
    Por Edilmar no fórum Linguagens de Programação
    Respostas: 5
    Último Post: 21-08-2006, 13:28
  3. Shell Script .:. Pegar primeiras 3 letras de uma string
    Por smace no fórum Linguagens de Programação
    Respostas: 3
    Último Post: 10-01-2006, 13:08
  4. Como determinar processamento de uma aquivo em maquina Dual?
    Por luccosta no fórum Servidores de Rede
    Respostas: 0
    Último Post: 09-07-2004, 17:10
  5. Como separar uma String dividida por espacos em C ???
    Por Rurouni_Kenshin no fórum Linguagens de Programação
    Respostas: 6
    Último Post: 15-06-2004, 14:56

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L