Thread split und sort (6 answers)
Opened by teXel at 2007-10-29 16:09

Linuxer
 2007-10-29 16:58
#101541 #101541
User since
2006-01-27
3887 Artikel
HausmeisterIn

user image
Hi,

hier meine ungetesteten Vorschläge; bei Fragen melden.

Variante 1:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/perl
use strict;
use warnings;


my $passwd = '/etc/passwd';
my @users = ();

open my $in, '<', $passwd or die "$passwd: $!\n";

while ( my $line = <$in> ) {

        my ( $user ) = split( /:/, $line, 2 );
        
        push @users, $user;
}

close $in;

@users = sort @users;

print "@users\n";


Variante 2:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/usr/bin/perl
use strict;
use warnings;

my $passwd = '/etc/passwd';

open my $in, '<', $passwd or die "$passwd: $!\n";

# Listenkontext: Lese zeilenweise aus Filehandle, sortiere das gelesene
# splitte es am ':' in 2 Teile und nehme nur das erste; packe das ganze
# dann in @users
my @users = map { ( split(/:/, $_, 2) )[0] } sort <$in>;

close $in;

print "@users\n";


Doku:
perldoc strict
perldoc -f split
perldoc -f map

http://perldoc.perl.org/
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread split und sort