[Warszawa-pm] assert() w 5.10
Piotr Roszatycki
piotr.roszatycki w gmail.com
Pią, 12 Gru 2008, 04:16:32 PST
To ja do asercji polecam jeszcze Test::Assert, w którym można je
włączyć globalnie, tzn:
perl -MTest::Assert skrypt.pl
włączy je w każdym z modułów, który używa:
package My::Package;
use Test::Assert ':all', 'DEBUG';
assert_true( 0 == 1 ) if DEBUG; # i tu się wywali jeśli użyliśmy
-MTest::Assert albo nie
# jeśli
domyślnie jest to wyłączone
print "OK\n";
A propos perlowych zagwodek: aby uzyskać anonimowy uchwyt, Radek
proponuje użyć Symbol::gensym. Otóż nie lubię go, bo oto co dostaję
przy "die":
$ perl -ale 'use Symbol; $fh=Symbol::gensym; open $fh, "/etc/passwd";
<$fh>; die '
Died at -e line 1, <GEN0> line 1.
A to dostaję, gdy użyję nieco kryptycznego "select select":
$ perl -ale 'select select $fh; open $fh, "/etc/passwd"; <$fh>; die'
Died at -e line 1, <$fh> line 1.
To samo jest też przy zwykłym 'open my $fh, "/etc/passwd";", ale w
przypadku powyżej chodziło o stworzenie anonimowego i jeszcze nie
otwartego handlera.
W dniu 10 grudnia 2008 15:59 użytkownik Radoslaw Zielinski
<radek w pld-linux.org> napisał:
> Hm, zostaje Carp::Assert.
--
.''`. Piotr Roszatycki
: :' : mailto:Piotr.Roszatycki w gmail.com
`. `' mailto:dexter w debian.org
`-
Więcej informacji o liście Warszawa-pm