Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]8220[/thread]

perl: leerzeilen entfernen (Seite 5)

Leser: 13


<< |< 1 2 3 4 5 6 7 8 ... 12 >| >> 114 Einträge, 12 Seiten
havi
 2006-08-08 16:42
#68601 #68601
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
Hoff das ist was du suchst...

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/perl

use warnings;
use strict;

while(<DATA>) { # alles was unten in __DATA__ steht symbolisiert eine Datei

chomp;

my @array = ();
@array = split(/;/); # $_ ist standard

foreach (@array) {
s%^\s+%%g; # fuehrende und
s%\s+$%%g; # abschliessende Blanks entfernen
} # foreach

print left($array[0],20).left($array[1],20).left($array[2],20), "\n";

# und zum Beweis das die Leerstellen weg sind
# print "BEWEIS\n";
# print "$array[0];$array[1];$array[2]\n";

} # while

1;

sub left {
my $r = $_[0];
while(length($r) < $_[1]) {$r.=' '}
$r;
} # left

__DATA__
Nachname; Vorname; Domain\Benutzername;size;85;5.7.2006;;16:36;5.7.2006;;16:36;;
Mustermann; Max; domain\name
Maier; Michi; domainmaier\michi
Mueller; Margit ;domain\margit


Gruss,
havi
Strat
 2006-08-08 16:55
#68602 #68602
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=pq,08.08.2006, 13:33]
1. du brauchst sprintf nicht zu "googlen", denn die gesamte perl-dokumentation
liegt auf deiner festplatte.
perldoc -f sprintf
[/quote]
@sabrina: wenn du ein dos-fenster (bzw. eine linux-shell) oeffnest und dort das folgende kommando eingibst, bekommst du die hilfe zu sprintf:
Code: (dl )
perldoc -f sprintf

[quote=pq,08.08.2006, 13:33]
2. ich hab in der schule noch gelernt, dass man sätze mit kommata oder punkten abschließt. ist das heute anders?[/quote]
seit der rechtschreibreform schon!!! schreibt man heutzutage nicht stattdessen !!! bzw. ??? *g* ???\n\n

<!--EDIT|Strat|1155041735-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
sabrina
 2006-08-08 17:00
#68603 #68603
User since
2006-08-03
264 Artikel
BenutzerIn
[default_avatar]
@ pq
einfach mal meine signatur lesen (eine signatur ist das, was unter
dem eigentlichen posting steht).
Ich habe deine signatur gelesen.
Ich mache seit 8 Tagen nichts anderes als im grossen, weitem web und in zwei dicken buechern von perl nach infos zu suchen!
Ich war auch schon auf dennen(Wiki: Wie frage ich & Wiki: perldoc perlintro).
Lese seit Tagen in diesem Forum und hab mich gestern erstmal getraut was zu schreiben!
Ich weiss selber das ich kaum ahnung im programmieren habe, aber wenn ich nie frage werde ich auch nicht besser. Weis selbst das die meisten fragen ziehmlich doof sind.
Es hat mich nur irritiert, weil du sagtest auf meiner Festplatte!
sabrina
 2006-08-08 17:02
#68604 #68604
User since
2006-08-03
264 Artikel
BenutzerIn
[default_avatar]
@havi
danke havi probiers gleich mal aus, schreib dann ob es funzt.

@strat

danke fuer die info werd gleich mal lesen gehen!
lg sabrina
pq
 2006-08-08 17:26
#68605 #68605
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
[quote=sabrina,08.08.2006, 15:00]Ich war auch schon auf dennen(Wiki: Wie frage ich & Wiki: perldoc perlintro).[/quote]
na dann ist ja gut! sollte ja nur ein tip sein.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
sabrina
 2006-08-08 18:09
#68606 #68606
User since
2006-08-03
264 Artikel
BenutzerIn
[default_avatar]
@pq
danke werd versuchen an deinen tipp zu denken.
sabrina
 2006-08-08 18:16
#68607 #68607
User since
2006-08-03
264 Artikel
BenutzerIn
[default_avatar]
@havi
habs getestet, erste zeile sieht gut aus, aber dann stimmen die abstaende wieder nicht und
PC gibt mir:
Use of uninitialized value in length at C:\DOCUME~1\bla\LOCALS~1\Temp\dzprltmp.pl line 52, <DATEN> line 24.
aus!


@strat
habs gelesen, aber werd es wohl noch zweimal lesen muessen.
havi
 2006-08-08 18:21
#68608 #68608
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
aendere mal die Laenge bei der Ausgabe (20 auf z.B. 50)
wenn Felder naemlich laenger 20 sind, dann verschiebt sich das naechste Feld...
havi
 2006-08-08 18:22
#68609 #68609
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
Du kannst mir aber gern deine Daten und das Skript mailen - ich schau es mir morgen an...

Gruss
renee
 2006-08-08 18:23
#68610 #68610
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/usr/bin/perl

use warnings;
use strict;

my @data;

while(<DATA>) { # alles was unten in __DATA__ steht symbolisiert eine Datei

chomp;

my @array = ();
@array = split(/;/); # $_ ist standard

foreach (@array) {
s%^\s+%%g; # fuehrende und
s%\s+$%%g; # abschliessende Blanks entfernen
} # foreach

push(@data,[@array[0..2]]);

} # while


my $len_vorname = find_longest(map{$_->[0]}@data);
my $len_nachname = find_longest(map{$_->[1]}@data);
my $len_domain = find_longest(map{$_->[2]}@data);

for my $entry(@data){
print sprintf("%-*s %-*s %-*s<<\n",$len_vorname,$entry->[0],
$len_nachname,$entry->[1],
$len_domain,$entry->[2]);
}

sub find_longest{
my $longest = 0;
for(@_){
my $length = length($_);
$longest = $length if($length > $longest);
}

return $longest;
}


__DATA__
Nachname; Vorname; Domain\Benutzername;size;85;5.7.2006;;16:36;5.7.2006;;16:36;;
Mustermann; Max; domain\name
Maier; Michi; domainmaier\michi
Mueller; Margit ;domain\margit
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< |< 1 2 3 4 5 6 7 8 ... 12 >| >> 114 Einträge, 12 Seiten



View all threads created 2006-08-07 10:33.