LINUX.ORG.RU

История изменений

Исправление Nervous, (текущая версия) :

хрен с юникодом, забейте на него!

Работает же.

Помогите отсортировать символы построчно в файле

#! /usr/bin/perl

use 5.010;
use strict;
use warnings;
use utf8;
use open qw(:std :utf8);

while (<>) {
    chomp;
    my @letters = split //, $_;
    my @output;
    my %seen;

    for my $letter (@letters) {
	if (!defined $seen{$letter}) {
	    push @output, $letter;
	    $seen{$letter}++;
	} 
    }

    say sort @output;
}

Применять так:

user@host$ ./duplicates.pl input.txt

Чтобы писало вывод в файл:

user@host$ ./duplicates.pl input.txt > output.txt

Файл должен читаться построчно, 16Гб памяти иметь не обязательно.

Исходная версия Nervous, :

хрен с юникодом, забейте на него!

Работает же.

Помогите отсортировать символы построчно в файле

#! /usr/bin/perl

use 5.010;
use strict;
use warnings;
use utf8;
use open qw(:std :utf8);

while (<>) {
    chomp;
    my @letters = split //, $_;
    my @output;
    my %seen;

    for my $letter (@letters) {
	if (!defined $seen{$letter}) {
	    push @output, $letter;
	    $seen{$letter}++;
	} 
    }

    say sort @output;
}

Применять так:

user@host$ ./duplicates.pl input.txt

Чтобы писало вывод в файл:

user@host$ ./duplicates.pl input.txt > output.txt

Файл должен читаться построчно, 16Гб памяти иметь не обязательно.