linux-l: perl return

Steffen Dettmer steffen at dett.de
Mo Feb 19 23:40:01 CET 2001


* Alexander Lehmann wrote on Mon, Feb 19, 2001 at 15:58 +0100:
> * Jens Dreger (jens.dreger at physik.fu-berlin.de) [010219 14:08]:
> open(COM,"</proc/net/tcp");
> if(grep(/^(.+?\:){3}0019 01.+?/,<COM>))

Vielleicht

print (grep(/^(.+?\:){3}0019 01.+?/,<COM>) == 0), "\n";

?

> also, ich meine nicht die ausgabe vom Programm, sondern den Teil
> des Scriptes, das fuer die ausgabe verantwortlich ist, folglich
> 'print "1";' und 'print "0";' das ist mir bereits zu lang.

print (condition?"0":"1"); kurz genug?

> sondern diese ueberpruefung direkt nutzen, denn bei der 
> ueberpruefung wird ja schon ein wert 1 oder 0 zurueck gegeben,

Nein, wahr oder falsch, was unter Umständen 0 oder 1 entspechen
kann, und was ganz und gar unterschiedlich zu "0" oder "1" ist,
was Zeichenketten sind. Zum Glück ist Perl genial und kann damit
umgehen :)

> sich if dann zu nutzen macht. Oder habe ich das prinzip von dem
> if term komplett falsch verstanden?

Nee, aber den von Datentypen :)

Was anderes, warum wertest Du nicht einfach den Return-Code von
egrep aus (aus 'ner Shell, ganz ohne Perl):

if egrep /expr/ > /dev/null ; then echo "YEP!"

Auch kurz :)

oki,

Steffen

-- 
Dieses Schreiben wurde maschinell erstellt,
es trägt daher weder Unterschrift noch Siegel.



Mehr Informationen über die Mailingliste linux-l