Schrift
[thread]405[/thread]

Use of uninitialized value in concatenation (.) or

Leser: 1


<< |< 1 2 >| >> 13 Einträge, 2 Seiten
Cryog3n
 2005-01-11 23:02
#4082 #4082
User since
2004-12-17
18 Artikel
BenutzerIn
[default_avatar]
Hallo an alle,

ich häng wieder mal an einem Problem... Hab folgenden Quellcode:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
while (@details = $sth->fetchrow_array ())
    {

    # Zeilenumbruch
    $details[4]=~ s/\n/<br>/g;

    # Aufzaehlungszeichen
    $details[4]=~ s/$sign([^$sign]+)$sign\s?/<li>$1<\/li>/g;
        
    print<<ENDE;  

    <tr>
               <td>$details[4]</td>
    </tr>

ENDE

        }


Durch die Abfrage bekomm ich eine Menge an Details welche ich in einer Liste ausgebe... nun kommt beliebig mitten im Text mal der Fehler >>> Use of uninitialized value in concatenation (.) or string at

Hab schon gegooglet und es heisst dass es vorkommen kann, dass der Wert in $1 einfach NULL ist oder ' ' und er dann eben das Problem mit dem Konkatenieren hat... nur wie kann ich das abfangen? Die Tipps welche ich gefunden hab funkionieren einfach nicht.

Bitte um Hilfe!\n\n

<!--EDIT|Cryog3n|1105477379-->
betterworld
 2005-01-12 00:01
#4083 #4083
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Dass $1 undefiniert ist, kann ich mir eigentlich nicht vorstellen, denn sonst wuerde der Ausdruck ja nicht matchen und $1 wuerde gar nicht benoetigt. Welche Zeilennummer wird denn ausgegeben? Wenn Du sicher bist, dass es in der Zeile mit $1 ist, kann es auch sein, dass $sign undefiniert ist
lichtkind
 2005-01-12 02:30
#4084 #4084
User since
2004-03-22
5697 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
$details[4]=~ s/$sign(^[$sign]+)$sign\s?/<li>$1<\/li>/g; ???

nur ein versuch aber ich glaub du meintest das\n\n

<!--EDIT|lichtkind|1105489894-->
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
renee
 2005-01-12 09:16
#4085 #4085
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
@lichtkind: dein RegEx matcht nicht. Es geht darum, z.B. einen Text wie
Quote
Dies ist #ein test # # und noch ein listenpunkt #

in
Quote
Dies ist <li>ein test </li> <li> und noch ein listenpunkt </li>

umzuwandeln (siehe: http://board.perl-community.de/cgi-bin....1;t=408 ).

@Cryog3n: frag mal ab, ob $details[4] definiert ist...
Code: (dl )
print '$details[4] not defined' unless(defined $details[4]);

Ich vermute mal, dass in irgendeinem Datensatz das $details[4] nicht eingetragen ist.
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/
Cryog3n
 2005-01-12 15:17
#4086 #4086
User since
2004-12-17
18 Artikel
BenutzerIn
[default_avatar]
@ betterworld,

in $sign steht vordefiniert vorzugsweise einfach eine Raute (#) oder irgendein anderes Sonderzeichen.

@ renee,

ich hab nochmals lange gegooglet und gelesen ich sollte einfach mal anstatt

#!usr/bin/perl -w

das -w weglassen

... und schon ist das Problem verschwunden. Keine Fehlermeldungen mehr... nur ist mir nicht klar warum. Was bedeutet das -w? Finde auch nix über Google?!

crYo
Relais
 2005-01-12 16:07
#4087 #4087
User since
2003-08-06
2246 Artikel
ModeratorIn
[Homepage] [default_avatar]
über das -w wie auch über alle anderen Perl-Schalter lernst Du mehr in

perlrun

Über Warnungen erfährst Du mehr in

warnings

Auch Google kann man effektiver verwenden lernen: Etwa so :-)
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop (Termin wird noch gesucht) 2025 in München.

Winter is Coming
Cryog3n
 2005-01-12 16:47
#4088 #4088
User since
2004-12-17
18 Artikel
BenutzerIn
[default_avatar]
Danke Dir @ Relais.

Werde mich da mal durcharbeiten. Wusste ja nicht mal was es zu bedeuten hatte, da war es schwer über Google fündig zu werden @ warnings etc.

Gruß, CrYo
lichtkind
 2005-01-12 17:10
#4089 #4089
User since
2004-03-22
5697 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
ich versteh nicht warum du "^" brauchst

s/$sign([\s|\w]+)$sign\s?/<li>$1<\/li>/g;

oder du legst ne shcleife drum die
solang er $sign matcht er abwechselnd

s/$sign/<li>/;
s/$sign/<\/li>/;
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
Crian
 2005-01-12 18:19
#4090 #4090
User since
2003-08-04
5872 Artikel
ModeratorIn
[Homepage]
user image
Was spricht gegen "^"?
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
lichtkind
 2005-01-12 23:03
#4091 #4091
User since
2004-03-22
5697 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
nichts aber ich seh nich wo er es braucht
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
<< |< 1 2 >| >> 13 Einträge, 2 Seiten



View all threads created 2005-01-11 23:02.