Thread perl regex noob: mini script (2 answers)
Opened by Gast at 2005-04-01 19:24

Gast Gast
 2005-04-01 19:24
#4732 #4732
hi,

bin neuling in perl und versuche ein script zu bauen.

Das ganze mache ich auf einem LFS 6.0 (Mit aller nötiger sw).

Die folgende Regex macht aus der aus dem HTML Formular uebergebenen Umgebungsvariable QUERY_STRING, das 'name=' wech.

~s/name=//g

Das script soll shell commands ausfuehren und nun suche ich eine regex, die mir die Parameter der shellkommandos die ich in die Form eingebe mit uebersetzt.

Habe mal folgende Zeile in das Script eingefuegt:

#print "$name\n";

Dadurch sehe ich, das die die Leerstellen zwischen dem Befehl und dem Parameter, die Lehrstelle als + interpretieren.

Das versuche ich dann durch folgende Regex zu filtern:

$name=~s/ +/ /g;


Das geht aber nicht.

Hat vielleicht einer ne Ahnung wie ich das mache.

Hier noch das ganze cgi-pseudo script :o)

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/usr/bin/perl -w


my $name = $ENV{'QUERY_STRING'};
$shell=$name;
$name=~s/name=//g;

$name=~s/ +/ /g;

print "Content-type: text/html\n\n";
print "<html>\n";
print "<h2>Shell:</h2>\n";
print "<hr>\n<pre>\n";
print "$name\n";
print `$name`;
print "</pre>\n<hr>\n</html>";



gruesse

karan

edit pq: code-tags hinzugefügt\n\n

<!--EDIT|pq|1112370781-->

View full thread perl regex noob: mini script