perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 19
Click for quality!




12.02.2012 / 04:11

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


Beitraggleichen Text erkennen -<--bisschen undeutlich,einfach mal lesen
Seitenanfang
also, ich hab eine ausgabe

szenario:

@test=`cat test.txt`;
foreach $line (@test)
{
print $line;
}

nun kann es vorkommen, das die datei doppelte einträge enthält, z.b.

a
b
a
b

ich will aber ab nur einmal ausgegeben bekommen.

weiss da jemand hilfe?

es muss nicht umbedingt cat txt sein, es kann auch die ausgabe eines befehls sein, in der ausgaben mehrfach vorkommen!

danke vielmals

Datum: 17.01.2005-15:57

Beitragre: gleichen Text erkennen -<--bisschen undeutlich,einfach mal lesen
Seitenanfang
my %ausgaben;
my @test=`cat test.txt`;
foreach $line (@test)
{
next if($ausgaben{$line}
print $line;
$ausgaben{$line} = 1;
}

Datum: 17.01.2005-16:38

Beitragre: gleichen Text erkennen -<--bisschen undeutlich,einfach mal lesen
Seitenanfang
argh.
next if($ausgaben{$line}
braucht natürlich noch ein semikolon.
next if($ausgaben{$line};

Datum: 17.01.2005-16:39

Beitragre: gleichen Text erkennen -<--bisschen undeutlich,einfach mal lesen
Seitenanfang
Und auch eine abschließende runde Klammer wäre gut ;)

next if($ausgaben{$line});

Datum: 18.01.2005-10:24

Beitragre: gleichen Text erkennen -<--bisschen undeutlich,einfach mal
Seitenanfang
Oder in Kurz:

my %ausgaben;
my @test = `cat test.txt`;
map { print if !$ausgaben{$_}++ } @test;
# oder
print grep {!$ausgaben{$_}++} @test;

Datum: 18.01.2005-17:26

-






-
-