Thread Skalar innerhalb eines Ausdrucks ergänzen (5 answers)
Opened by HP-User at 2012-04-18 21:44

murphy
 2012-04-19 07:34
#157625 #157625
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
Guest HP-User
Abend murphy

Ich hab das jetzt diese Varianten ausprobiert:
Code: (dl )
open(LESER, '<data/hauptdata/'.$dropdown.'.csv') or die;

Code: (dl )
open(LESER, '<data/hauptdata/' . $dropdown . '.csv') or die;


beide gehen nicht.
[...]

"Geht nicht" gibt's nicht ;-)

Die Befehle sehen soweit sinnvoll aus, ich kann Dir da nicht weiterhelfen, wenn Du nicht wenigstens verrätst, was für Fehler auftreten oder was Du unter "geht nicht" verstehst.

Im übrigen erhältst Du mit die alleine natürlich wenig nützliche Informationen über einen möglichen Fehler beim Öffnen der Datei, deswegen schrieb ich ja in meinem Beispiel auch die "Error in open: $!", damit die Fehlermeldung des Systems beim Versuch die Datei zu öffnen, welche sich in $! wiederfindet, mit in der Fehlermeldung von Perl auftaucht.

Quote
[...]
Für die Sicherheit hab ich das eingebaut:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
my $dropdown = CGI::param('one');
[...]
my $size = length($dropdown);
if($size > 50){
exit;
}

$dropdown =~ s/;//g;
$dropdown =~ s/<//g;
$dropdown =~ s/>//g;
$dropdown =~ s/\*//g;
$dropdown =~ s/|//g;
$dropdown =~ s/\[//g;
$dropdown =~ s/\]//g;
$dropdown =~ s/{//g;
$dropdown =~ s/}//g;
$dropdown =~ s/@//g;
$dropdown =~ s/&//g;
$dropdown =~ s/\\//g;

[...]

Das sieht recht vernünftig aus. Die ganze Liste von Ersetzungsbefehlen könnte man übrigens auf einen einzigen, zudem wesentlich schnelleren Befehl reduzieren:
Code (perl): (dl )
$dropdown =~ y/;<>*|[]{}@&\\//d;


Ich persönlich würde zwar dazu tendieren keine Blacklist von Buchstaben zu definieren, sondern eine Whitelist, also zum Beispiel so:
Code (perl): (dl )
$dropdown =~ y/a-zA-Z-._//cd; # Lässt nur Buchstaben, '-', '.' und '_' übrig

Aber das ist auch bis zu einem gewissen Grad Geschmackssache.
When C++ is your hammer, every problem looks like your thumb.

View full thread Skalar innerhalb eines Ausdrucks ergänzen