Thread Beispiel für die (sichere?) Verwendung von eval (12 answers)
Opened by Ronnie at 2008-09-28 12:44

sid burn
 2008-10-08 12:18
#115265 #115265
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
Quote
Doch, ist es. Der Spruch hat eine daseins Berechtigung.

Nur teilweise.
Aber das habe ich ja oben genauer erklärt, oder was ist an diesem Stück Code hier "evil"?

Code: (dl )
1
2
3
4
5
6
7
8
eval { 
open my $fh, '<', $file or die $!;
# noch was
close $fh or die $!;
};
if ( $@ ) {
warn "Konnte irgendwas nicht machen!\n"
}


absolut gar nix!
"eval is evil!" solche Sprüche führen nur dazu das die meisten Leute eval sofort meiden auch für das wofür es gut einsetzbar ist ohne sich evtl. damit beschäftigt zu haben. Ein "eval can be evil!" würde passender sein. ;)

Quote
eval ... goto ... selbst Perl wird als evil bzw. als schmutzig bezeichnet

goto kann man auch Klasse verwenden.

Code: (dl )
goto &subroutine;

Ist vorallem da nützlich wenn man eine Subroutine erstellt, und die aktuelle Subroutine in caller() nicht auftauchen soll. Oder bei Endrekursion.

Quote
eval ... goto ... selbst Perl wird als evil bzw. als schmutzig bezeichnet

Und deswegen sollte man Perl nicht mehr nutzen oder was möchtest du sagen?

CGI (Perl) ist sowieso veraltet und wurde durch PHP ersetzt?

Solche Sprüche und allgemeine Aussagen machen eher mehr kaputt als das Sie irgendwem helfen. ;)

Quote
und verwunderlich ist das nicht, denn es gibt leider zuviele Entwickler, die es falsch verwenden.

Was für mich keine Begründung ist. ;)
Viele Coden mit Perl unleserlich oder können es nicht. Es gibt nen Haufen Sprüche deswegen gegen Perl. Deswegen kein Perl nutzen weil es manche Entwickler nicht können oder es "falsch" verwenden? Solche Aussagen kommen eher von Leute die sich meist nicht mit der Materie auseinandergesetzt haben.

Wie oft habe ich schon in anderen Foren über Perl Diskutiert. Eine Aussage von mir "Perl ist auch ganz gut für Webentwicklung" wird dann mit "Perl ist doch veraltete Programmierung, wer nutzt das schon noch?" zurückgeschlagen und wenn man dann sagt. Hey nimm nen Framework "Catalyst, Jifty,..." kommt dann nur zurück "Was für Perl gibt es Webframeworks?" Und von solchen Leuten kommen dann immer so intelligente Sprüche und halten sich dann auch an solche Sprüche. ;)

Ich will nicht Wissen wieviele Leute lieber mit Python Programmieren weil Sie über Perl gehört haben das es unsauber nicht wartbar, keine OOP besitzt und sowieso nur für CGI brauchbar ist. Überhaupt ist Perl ja == CGI, und ich wurde sogar schonmal Persönlich gefragt wie ich Python finde da er gelesen hätte das Python der Nachfolger von Perl wäre...

Um zum Ausgangspunkt zurück zu kommen. Solche Meinungen verbreiten sich über genau die selben Sprüche wie solche wie "eval is evil!".

Es dient als Abschreckung, oft klappt dies, und genau das bewegt dazu eben nicht darüber nachzudenken. Den wie du ja sagst solch einen Spruch scheint es anscheind ja nicht umsonst zu geben. Und Leute nehmen sowas dann gerne als bare Münze.

Quote
Da kann eval nichts für, trotzdem ist der Spruch da. Wahrscheinlich
um Entwickler abzuschrecken und um sie zum Nachdenken zu bewegen :-)

Genau "eval" kann nichts dafür das es falsch verwendet wird. Deswegen ist es ja auch nicht evil. ;) Höchstens der Programmierer ist evil. ;) C++, Visual Basic etc. ist ja auch nicht evil nur weil dadrin vielleicht 90% aller Viren Programmiert werden.

Schlußendlich liegt es immer an PEBKAC.
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de

View full thread Beispiel für die (sichere?) Verwendung von eval