Schrift
[thread]7884[/thread]

letzten Zeilen im Array wiederholen (Seite 2)



<< |< 1 2 >| >> 16 Einträge, 2 Seiten
EagleFox
 2006-04-13 17:14
#64800 #64800
User since
2006-04-10
66 Artikel
BenutzerIn
[default_avatar]
Ich habs, wie blöd!

Ich habe

Code: (dl )
push(@fallend,$_[-1])

statt
Code: (dl )
push(@fallend,$line)

geschrieben!

Vielen tausend Dank für Eure Hilfe! Das klappt jetzt suuuuuuuuper! Danke nochmal!
EagleFox
 2006-04-18 19:50
#64801 #64801
User since
2006-04-10
66 Artikel
BenutzerIn
[default_avatar]
Hmmmm,

es gibt jetzt doch irgendwo ein Problem.
Ich habe nun mal mit größeren Datenmengen "gespielt" und bekomme nun folgende Meldung:

Code: (dl )
1
2
3
Use of uninitialized value in concatenation (.) or string at ../cut.pl line 78, <$fh> line 137467.
Use of uninitialized value in concatenation (.) or string at ../cut.pl line 78, <$fh> line 139459.
Use of uninitialized value in concatenation (.) or string at ../cut.pl line 78, <$fh> line 145435.


Die Zeilen 137467 usw. sind Leerzeilen.
Die Zeile 78 im Programm ist:

Code: (dl )
$set .= ( $last . "\n" ) x 9;


Was kann da denn nun schon wieder schiefgehen??? ;-/
renee
 2006-04-18 20:59
#64802 #64802
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
mach im Programm einfach:
Code: (dl )
1
2
3
4
5
6
 my $last = ( split /\n/, $set )[-1];
$last = "" unless($last);
$set .= ( $last . "\n" ) x 9;
$set .= $_ . "\n" for (@fallend);
$set .= "\n\n";
return $set;
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/
EagleFox
 2006-04-18 21:47
#64803 #64803
User since
2006-04-10
66 Artikel
BenutzerIn
[default_avatar]
Aha, ich verstehe die Meldung zwar nicht, aber solange $last leer bleibt, bis es wirklich Einträge gibt, läuft das. Also mit der zusätzlichen Zeile gehts prima. GENIAL, DANKE!!!!!!!!!
renee
 2006-04-18 21:59
#64804 #64804
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Dir wurde mit der Meldung mitgeteilt, dass $last keinen Wert bei der Konkatenation (also dem zusammenfügen) hat.

Vergleiche mal:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/perl

use strict;
use warnings;

my $string; # keine Initialisierung

print $string;

my $string_2 = "hallo"; # mit Initialisierung

print $string_2;
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/
EagleFox
 2006-04-19 12:06
#64805 #64805
User since
2006-04-10
66 Artikel
BenutzerIn
[default_avatar]
Ok, das sehe ich ein. Aber wieso kommt das erst in Zeile 137467 der Datei, wenn alle Datenblöcke vorher (68 sind es) auch schon durch zwei Leerzeilen getrennt sind.
$set sollte doch eigentlich bis dahin garkeine Leerzeilen enthalten???
<< |< 1 2 >| >> 16 Einträge, 2 Seiten



View all threads created 2006-04-12 18:11.