Schrift
[thread]7986[/thread]

Probleme mit Interpolation



<< >> 9 Einträge, 1 Seite
Thorium
 2006-05-16 15:35
#66154 #66154
User since
2003-08-04
232 Artikel
BenutzerIn
[Homepage] [default_avatar]
Code: (dl )
1
2
3
4
5
6
7
user$ perl
$text=' Dieses ist ein Text mit einem %Zeichen drin';
$command = "echo" . $text;
$ausgabe=qx($command);
print $ausgabe;
^D
Dieses ist ein Text mit einem %Zeichen drin


?
Edit:
Kann es sein, dass dein sende.exe ein kompiliertes Perl-Script ist und seinerseits den Fehler ausgibst?\n\n

<!--EDIT|Thorium|1147779426-->
Per|li|nist der; -en, -en <zu ↑...ist>: a) Anhänger, Vertreter der radikalen Perlinisten die Perl als die einzig wahre Sprache ansehen; b) Mitglied einer perlinistischen Community.
bloonix
 2006-05-16 16:06
#66155 #66155
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
[quote=renee,16.05.2006, 13:58]escape mal die Sonderzeichen...[/quote]
da '%Zeichen' nicht interpoliert wird, würde das escape
zeichen "\" mitgegeben werden.

in einer shell wäre das nur bei einem dollarzeichen nötig,
aber wie schaut es auf windows aus?\n\n

<!--EDIT|opi|1147781929-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
Thorium
 2006-05-16 23:31
#66156 #66156
User since
2003-08-04
232 Artikel
BenutzerIn
[Homepage] [default_avatar]
Windows interpretiert nur wörter die von % umschlossen sind.
Wie gesagt, ich kann das Problem nicht nachvollziehen. Ist nicht ein Perl-Problem sondern eher ein Shell/Prompt-Problem
Per|li|nist der; -en, -en <zu ↑...ist>: a) Anhänger, Vertreter der radikalen Perlinisten die Perl als die einzig wahre Sprache ansehen; b) Mitglied einer perlinistischen Community.
pq
 2006-05-17 12:25
#66157 #66157
User since
2003-08-04
12207 Artikel
Admin1
[Homepage]
user image
was hat das eigentlich mit CGI zu tun? *verschieb*
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
monetron
 2006-05-16 15:26
#66158 #66158
User since
2003-10-23
15 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallo zusammen,

ich habe ein Problem mit der Interpolation bei der qx() Funktion.

Code: (dl )
1
2
3
$text=' Dieses ist ein Text mit einem %Zeichen drin';
$command = "sende.exe " . $text;
$ausgabe=qx($command);


Wenn in $text kein Prozentzeichen ist, funktioniert alles.
Sobald ein Prozentzeichen in $text ist erhalte ich :
Use of uninitialized value in concatenation (.) or string at
im Logfile.
system möchte ich nicht benutzen da ich in $ausgabe den Output von sende.exe haben möchte.
$text enthält eigentlich den text aus param(text) eines Formularfeldes.

Wie schaffe ich dass $command nicht interpoliert wird ??
renee
 2006-05-16 15:58
#66159 #66159
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
escape mal die Sonderzeichen...
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/
renee
 2006-05-16 17:45
#66160 #66160
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Es soll ja mitgegeben werden! Sonst bringt es ja im Programm sende.exe nichts...
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/
Dubu
 2006-05-17 02:09
#66161 #66161
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Und auf welche Zeilennummer zeigt die Warnung im Logfile?
docsnyder
 2006-05-17 15:16
#66162 #66162
User since
2005-09-08
300 Artikel
BenutzerIn
[Homepage] [default_avatar]
@monetron

Ich weiss nicht, was Dein sende.exe macht. Ich habe es mal durch ls (UNIX) ersetzt und das Beispiel aufgerufen. Resultat:

Code: (dl )
1
2
3
4
5
6
7
8
Dieses not found
ist not found
ein not found
Text not found
mit not found
einem not found
%Zeichen not found
drin not found


Und unter Windoof (mit bash und ls via cygwin) kommt folgendes heraus:

Code: (dl )
1
2
3
4
5
6
7
8
ls: Dieses: No such file or directo
ls: ist: No such file or directory
ls: ein: No such file or directory
ls: Text: No such file or directory
ls: mit: No such file or directory
ls: einem: No such file or director
ls: %Zeichen: No such file or direc
ls: drin: No such file or directory


Wie Du siehst, macht die Shell nichts mit dem '%'-Zeichen.

Hast Du die Möglichkeit, zu sehen, was in sende.exe ankommt? Z.B. mit einem Debugger?

Ich hoffe, das hilft Dir weiter.

Gruß, Doc
<< >> 9 Einträge, 1 Seite



View all threads created 2006-05-16 15:35.