Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]5772[/thread]

Systembefehl gültig ?

Leser: 1


<< |< 1 2 >| >> 18 Einträge, 2 Seiten
BrownWolf
 2003-09-28 00:03
#57754 #57754
User since
2003-08-15
308 Artikel
BenutzerIn
[default_avatar]
Hallo,

wie kann ich überprüfen ob eine Systemfunktion existiert.
Also wenn man zb auf Windows:

Code (perl): (dl )
system("dir");


macht dann gibt er mir das Verzeichnis aus.
Und wie prüfe ich nun ob die Funktion dir gültig ist ?

Am besten für Windows und Linux.

BrownWolf
Code (perl): ()
1
2
3
sub _{s;;xrqIpiql\\{}p{pl{R>rl{N{}gjwpkssq]>rl{N;;;*{{}=*{_};;
&#36{{}={q{{{}}}=>[reverse+split+reverse+q;}{;]};&#36{{}->{q{{{}}}}->[@{{}];}
&#36{{}=reverse+_(q{{}}=>q{{}})^chr(30)x+length&_(q{{}}=>,q{{}})and+print;
[E|B]
 2003-09-28 00:28
#57755 #57755
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Vielleicht so:

Code: (dl )
1
2
$output = `command`;
print "Ungueltiger Befehl!" if $output =~ /(falsch|nicht gefunden|not found|undefined)/i;


HTH\n\n

<!--EDIT|[E|B]|1064756330-->
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
BrownWolf
 2003-09-28 00:35
#57756 #57756
User since
2003-08-15
308 Artikel
BenutzerIn
[default_avatar]
Ich hab es jetzt so gemacht:

Code (perl): (dl )
1
2
system("dir");
die "Es ist ein Fehler im Programm aufgetreten.\nWahrscheinlich existiert die Funktion 'dir' nicht auf diesem System.\n" if($? != 0);


Müsste doch auch so funktionieren oder ?
Code (perl): ()
1
2
3
sub _{s;;xrqIpiql\\{}p{pl{R>rl{N{}gjwpkssq]>rl{N;;;*{{}=*{_};;
&#36{{}={q{{{}}}=>[reverse+split+reverse+q;}{;]};&#36{{}->{q{{{}}}}->[@{{}];}
&#36{{}=reverse+_(q{{}}=>q{{}})^chr(30)x+length&_(q{{}}=>,q{{}})and+print;
jan
 2003-09-28 00:38
#57757 #57757
User since
2003-08-04
2536 Artikel
ModeratorIn
[Homepage] [default_avatar]
leute, rtfm!
ich mein, für einen blutigen anfänger finde ich es ja verständlich aber bei ein bisschen erfahrung sollte man doch mal lernen, die docs zu benutzen.

http://www.perldoc.com/perl5.8.0/pod/func/system.html

Code: (dl )
1
2
3
4
if(system('dira') != 0)
{
print "error while executing command: $!\n";
}
BrownWolf
 2003-09-28 00:45
#57758 #57758
User since
2003-08-15
308 Artikel
BenutzerIn
[default_avatar]
Ja ... blos es ist so irre schwierig den ganzen Text ins Deutsche zu übersetzen und da bringt lernen kein Spaß :(
Code (perl): ()
1
2
3
sub _{s;;xrqIpiql\\{}p{pl{R>rl{N{}gjwpkssq]>rl{N;;;*{{}=*{_};;
&#36{{}={q{{{}}}=>[reverse+split+reverse+q;}{;]};&#36{{}->{q{{{}}}}->[@{{}];}
&#36{{}=reverse+_(q{{}}=>q{{}})^chr(30)x+length&_(q{{}}=>,q{{}})and+print;
[E|B]
 2003-09-28 00:45
#57759 #57759
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
*gähn*
Sorry, kurz vor elf... Hab Verständnis! :D
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
coax
 2003-09-28 01:22
#57760 #57760
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
[quote=BrownWolf,27.09.2003, 22:45]Ja ... blos es ist so irre schwierig den ganzen Text ins Deutsche zu übersetzen und da bringt lernen kein Spaß :([/quote]
kein "Programmieren mit Perl"-Buch?
Kapitel 3: Funktionen ;)
,,Das perlt aber heute wieder...'' -- Dittsche
Ishka
 2003-09-28 16:12
#57761 #57761
User since
2003-08-04
771 Artikel
HausmeisterIn
[Homepage] [default_avatar]
[E|B
,27.09.2003, 22:28]Vielleicht so:

Code: (dl )
1
2
$output = system("command");
print "Ungueltiger Befehl!" if $output /[falsch|nicht gefunden|not found|undefined]/i;


HTH

$output =~ /(falsch|nicht gefunden|not found|undefined)/i;

oder auch ohne Klammern, wenn du willst, aber nicht mit [ ]
und ohne =~ funktionieren RegExes nur halb so gut ;)\n\n

<!--EDIT|Ishka|1064751185-->
sub z{if(@_){1while$x[$k=rand 10];t($t=$x[$k]=1)}print map"$z[$x[$_]]$_".($_%3?
"":"\n"),1..9}sub t{$j=0;$x[$_+1]==$t&&($j+=2**$_)for 0..8;z,die"Gewinner $z[$t]
"if grep$_==($j&$_),7,56,73,84,146,273,292,448;z,die"Gleichstand\n"if@x>9&&!grep
!$_,@x}@x=4;@z=qw{. [ (};z$^T&1;while(<>){next if$_>9||$x[$_];t$t=$x[$_]=2;z 1}
format_c
 2003-09-28 17:27
#57762 #57762
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Zumal system nicht die Ausgabe des Systembefehls zurückgibt.
[E|B]
 2003-09-28 17:39
#57763 #57763
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Sorry, hab's angepasst! ;-)
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
<< |< 1 2 >| >> 18 Einträge, 2 Seiten



View all threads created 2003-09-28 00:03.