beatovich: Perl als "Hackersprache" - konkrete historische Beispiele?

Beitrag lesen

was glaubst du, was dies ausgibt?

eval{ undef;0; 0=="a"?1:2  } || 42;  # Ausgabe: 1

Bei mir kommt 42 raus und weißt Du auch warum!?

Weil dein Perl kaputt ist?

Vermutlich weil pl use warnings; eingeschaltet hat (was gut ist),

Hat keinen Einfluss auf die Ausgabe 1.

natürlich bekommt man die warnung.

dann aber mit $SIG{__WARN__} = sub{ die @_ }; aus Warnungen Silent Failures macht. Kann man schon so machen, ist dann halt kacke.

habs mal eingefügt:

BEGIN {
	use CGI::Carp qw(carpout);
	open(my $log, ">","error.log") or die("error.log $!\n");
	carpout($log);
	$SIG{__WARN__} = sub{ die @_ };
}

Ausgabe wird 42.

Das ist tatsächlich kaputtes Perl!

--
Neu im Forum! Signaturen kann man ausblenden!