perl-Carp-Assert-0.21-lp152.3.2 >  A ]m/=„$%&Tjg8P,R"B׏m]4Oyk2Pf ko`ԳXF] $H`~]3$J;_@BJwy|_'16hŽ#l?a0jaݬ1C}l;< C[_N)!:"o78Z:6E '6srJӄL ~"!86~Pr(>?N56a07c85261de5d819b4f99cd4a71c60e10f7e01b7ecb6ee78454cf067e75f5009410ccb65df52d8eed3c6e0f198d94ac3ccbee40S]m/=„o[E7ˈK鿭'l~~H ѐHFDr-TL X-f/օUj>ˈܬa?{c.bF;"q_TggC]cX(Qf/W)S=eՑUf-ƢMN+y[a*ϥ7BZSX|.~j2 ' .g8T9+FIK`qߖm\[߈2\ Ca]"<ymBư=s>p>?d " 6     3 < U o               $ @ c    (8 9 : FGHIX Y(\<]X^bXcdhemfplruvw,xHydzhx|Cperl-Carp-Assert0.21lp152.3.2executable comments "We are ready for any unforseen event that may or may not occur." - Dan Quayle Carp::Assert is intended for a purpose like the ANSI C library http://en.wikipedia.org/wiki/Assert.h. If you're already familiar with assert.h, then you can probably skip this and go straight to the FUNCTIONS section. Assertions are the explicit expressions of your assumptions about the reality your program is expected to deal with, and a declaration of those which it is not. They are used to prevent your program from blissfully processing garbage inputs (garbage in, garbage out becomes garbage in, error out) and to tell you when you've produced garbage output. (If I was going to be a cynic about Perl and the user nature, I'd say there are no user inputs but garbage, and Perl produces nothing but...) An assertion is used to prevent the impossible from being asked of your code, or at least tell you when it does. For example: sub my_sqrt { my($num) = shift; assert($num >= 0); return sqrt $num; } The assertion will warn you if a negative number was handed to your subroutine, a reality the routine has no intention of dealing with. An assertion should also be used as something of a reality check, to make sure what your code just did really did happen: open(FILE, $filename) || die $!; @stuff = ; @stuff = do_something(@stuff); assert(@stuff > 0); The assertion makes sure you have some @stuff at the end. Maybe the file was empty, maybe do_something() returned an empty list... either way, the assert() will give you a clue as to where the problem lies, rather than 50 lines down at when you wonder why your program isn't printing anything. Since assertions are designed for debugging and will remove themelves from production code, your assertions should be carefully crafted so as to not have any side-effects, change any variables, or otherwise have any effect on your program. Here is an example of a bad assertation: assert($error = 1 if $king ne 'Henry'); # Bad! It sets an error flag which may then be used somewhere else in your program. When you shut off your assertions with the $DEBUG flag, $error will no longer be set. Here's another example of *bad* use: assert($next_pres ne 'Dan Quayle' or goto Canada); # Bad! This assertion has the side effect of moving to Canada should it fail. This is a very bad assertion since error handling should not be placed in an assertion, nor should it have side-effects. In short, an assertion is an executable comment. For instance, instead of writing this $life = begin_life(); you'd replace the comment with an assertion which *enforces* the comment. $life = begin_life(); assert( $life =~ /!$/ );]fmorla3n>openSUSE Leap 15.2openSUSEArtistic-1.0 or GPL-1.0+https://bugs.opensuse.orgDevelopment/Libraries/Perlhttp://search.cpan.org/dist/Carp-Assert/linuxnoarch? A$AA큤$]dS/Pp2e {%. fXN]"1 IXȾ ~4 LcMj'B;UmHQ Sf }i{٣^0Ȑt = YT܌X,?\{*o^6SR@J|7#Y}^|d{zjJ*G/ک:z'uuF>2AsЍ(O`>xa8>؎['Z4$Ò4"UvS,5O S'(21D-/}>|:"~l/") ,rQ #{(KAr@ o!C=Lt>r5|,ZhÞ@|0yԹ~jUC#R䥠V<&d6^g< \-攎~!cWn|R<7/Q! E$b?pym^B;9  dh!IuPdѼB4 LV=A-#LFy.VکKD~a5;= Pew !w%]V|_NItƝdC|H#ޱ [M6 jqtmK+!f'+)LGW3$I.dK[76tHs[DrƯ뱸 JWH0/uEv&lEMٛli `%-akfX{Ђk[D᭥IFĥ:/&[&mW)Ǻ.ճ=R AbL˲Qxjwj;zg$#Y@!5q!c lъAەs_1k'?Hj]cs9 u-{! Kq~nޣ0bR^Vx>;]Bj[w,3&nݱ&S;ݒue nfБywT^D¦tkeb7*JN\ %_^ψ#&yT= ky@V>5f7[֪pY?jͳ HcDJ Ix`MKVˮ3"=^ Rʠ,w4} [v`O,B7IFKdjП<煏gȃaa(|DkNJʹ"#J;L|8/[yϤ$2 #w\3Y~z\O[5m,6m CT #Toe)jZ!rߥfsxjC'{˾jhͬ(w̟"xңX}=)Wj%5{Gm" ,x*Y2 .3 BMN,xul*Ռ9n["C2 y!ocv?=]HPzj%䀁oXcj b;r~65>Z#5h\X6<de0/ -x1PY& A'3Vل/Ce%^`9m3r6#۫\K-u䄰)x6%v(30 [a`uWĒG]*Q(,w]4CI T?ߙ.._ Aj^EEزSWZ|9NKW_ =Ny3NzI-I- ݢ4i4'mٖ%si)]+G_`OcMRSf$r۰)ʓ@@(5Ə`'pCf@h>23+ y_Fqhq^.LeJ# ]yHÕD 4|q-2CB]Pb+z IսIW2ʃMfB9Ac+Nt=s$ Fx]LPKSguafac*iS}i{c"ݗ6 3Lk7GnJgEƕj7, `Y^lX@`x/d9Zsӓn6@L1'NlB]δQ'z(:J&R: ]ǜ.k. 1fbl?V+>JH=D;*p K"йPc7h1"#ACzᶘeٰ/DwA:F"GZ&; ֈ 6~akT:6ٽ-监@I^rmބ՜UHOa˭48i>$2=p(_kʵAVܥxmp\P|y3r?$"%[]j'wx;k]کWc) o>Zx &:fL x%[ώ||+=q 0P^C2Wk=iGSj]K+Nfyyy@?EU 9u̵.<,^Yά/ν_/XK}$_̴IN#9ȳsQPOQGZ , `*˧9'=܈`%w1_Jz-fZ!g*9YH>Cif "[_!!.'NDO=Ւ.HvfB6GP 疝3bYW9c/u=tG%OwT[$/2EO+ !]R6*_ebYȢ Msގ8x=>hY6:X}$h#ﵶxA3j1VU{eFdri iU _8O )Es% CĤ=R.j:]iӁՓ| Kq8G~F\c` ǰ)V6= ﱹFʡl}W:t92.NX9igRu+ *\av܀W}+걊:@$cL= n\V(W׷k+azrΜѠ.L /cE mJh!{Ftw&(W֋v03Q)#RWgG&2hpPnś.<=U~#"BEkx4+t8X<$ے]zz,Got_cl2l1³ Ted!ny:%E(eFqf513<i %cᬜⷝ5'5x?(P.hFB~Ӥa>*LGƱz#*Ngىvz'Z]oBD=!AI BkIӹ亡CJh*kd,NSꖮ~c|m'&l|6 z imb=I9YDvY BGaL\UFs@ i<'CL! @*l,ϱ,֏&jI侄Ui"rlxviýx<cqv[ O*l3I">j6oƗr=V0D!,?+˓̬<)_/l0a[\.(?T?cʇ% Aa]}E]Œwb4+ ЬE?nӢPX k2$RqELL"5ѼeMzmYz ^˺A3?Yjx2ҕ?2KC{5[`<`L'9ݤw)RUoT6@l~.;:8ֱJ)'_׋ `Ol|x H\h-lӝjnYbQM\QګW{O E&ҵ=$rɄ x#bdiD ZԎPoo : (dߍ Y&M]#n*m3GɃx|}hI7l=Ϧ]l"At†B!T\Pܦ֘6ۍWX4|>Pꪮ>BWkûњ /(ut%[𛮢DSn2{o t֖NСrrO{GHT4Q+{Ӏ|Һ O|2| ǦJSQ~9^pdApx8_DBmtR(B ?Wela;;hψ:Iӆ\|9!F/Y+֤O[*ԇ[./!ڤ*&x@ F3'P6Wwr#p7f#".MXȯއc,&u`ۗR{|ĂɄ*n smhWAV3ٕixoe(P ./ 5(ӺX㏆*=t" :.-sN <9$WʻUF#y}.KLݏ9¼a+w矅sxF2 to+c(qZXZGϠ1IE}.= wr pY믰>7e0NI} ^ >atL/x7YϏi܉~sIݹCA֢7~]Im:tu?,MbY9vCuVK}Nzq4&B [N&ʍҬrVW-t _2DяF{r V@_MH[RbSjb-U Wy3M]{mL;Kv(+D r~J·T CLS/jm@N2`dt G5w}E>nafFplC<^)/`>YIbakց w9;eO65]IQwp)׾fj(u(z a5o1^˧X*<K"zQKXXR(ΩhT4nB8 V\0K5C7yz(3*?]ߥt K:`(ඒgd;,F/ӠF#8z`D-b(Q!c'ݮU#..<D 6#ՙURY(̔flj68?)Ei8|a6l-;^$m4)yB}̻SUaB/T>  Ű~wD1ɮkwy*5p5PWQ]%'iſImwm 8D5/R7 /xCbeL)Xoվ\UL/L!?M3(@䲾g!8F#q3̝>T"r]V5z@*RdqzM{eo&c퀡Te٪ t&Iz3y=Ɛs,6] jC70ʊ{Z_x`kWw7~~ (\a-$?3]W #VCY pi bjA`=⇔]Z.fR~nyͪ QHKuj} F``ylt=;ιzrC| ϸK'+( u"P)x/],JWw?PȖpsX ڙY^ZoR'^qKF ~Lp(O^ t\Ų' *w{rzl cԶ4J MEqBouͼ]x$q흆=,s"vZ\m6l|+t~? Y+6=IϽ`=E[(:K5jX?Z0դ8[$02x{U Ns gnZz]QJ_Z'0U;QHU?]b?9!x~\_W93g6/$ߜ:x1*^WڢKN *^FNxHIvH-WYD֑z%Wްڵl$`}pL]/Ru\y)8(D@b/oO.j>n(7=$e0{/ϽhVm!]1QzPDzX]o Q{fbmnw픷8r󟕍,_KCMc**x8)ע0ץynLUQ[a.6 5_! nD]x~ɉ@~<4* 6)pG(dKV!E, G rkUu<Y݁,x9Pjoo6>kʏv?qƆRG";ބ2RFxuX3%2ᚪtfCt*}q}kIf`6}1zWS&g-"MdrE6 9^ۛ)Sx0>tu=޽axk[vy&GuU=" EJo@ !]\ !Ip _mEGCt.Ghoĕ--<؁ÅaWrS9)R u)FoJezg]' Cy:!?!11&~UG~Vu 0KAgXY;ӟ3(q_^fM >HC.WitK.9Ov8 1& )2' "K)zLwA>fƨZsbU0x)[aw,\5_CtE oS%aA8= JGrJn їh AC>n)bfpQx; mqi$ۡ*z.D])7trTs J"42 =6.fO)J@:(|y [{ }0e? _#GG\쪆M1^L;R*p ꚻ_>d{5AʱQ)85 mR4A-NβS y.\_rqe+xQf]S;"mn+tBk1y: ԍM}Y{ێlz*L&bF7NG;Zx9]_{{k}og݊ne==H!scdP &' }qO;F'NjߔGZ%fJ䊭*v >.RMlMq8g҆jyW'<`]6|zQ&b-)gB~{/`-^C&+`sN`#QHXpbpIdPxJpEM]uKTFQ &cxMqpI&z P)y'ÔC4w&:SE귀.Vc;]X_a"Ti}4<2|tXU^Ora:^5[{#Aj%f4']2fڹrd]O`=^"i%K1^0OSԣ~\#"d}~?!Gfmhk_!xSG6ImBT7S obq6Zwnt}Ѻ@ٹ_;RgW5Vk%BX?Y=7nV$C-v N}YМ٣7[g8ŲM(|PnuRq GBԊ=lUdYI!kJ(0ceWc $|iC$<F*/[u{4iTF' |%Cim=ֻM' 0QmQq>VKvVl;:JwEoj'7oQrW$y%F/V,ܞ̸پ873pv*W15LROE*v^ɡ al Q騡/u9+5Fn M ̓#eja5xf|GV.<9 *0Oc]Lx-t ]nŕ8@Dϩ˕1ƍUzefKOvYݏ-|E%2v I;(O{9P[$B{ZiR^'dBWI0eW1xu6sF g0aW6(|p\<''XC9l G9[!pHvzR:f0Vۮu XMjVql#%4 JOX-ٹB'e|a̓>{+s⁤ }&E:5uzHzkgs-Mo,foq- $)Ix aO$~,%RzEu0GiۿB5\vo Hik'fj_]v~ʾnF 뾃,Ys0SUë{6+V(ν?ϴC6PN x_Zv8o;LUskcth=("g#XϙzHu 9RN* ZIoH}$(S#Y?;Ϛp y&hY1w7*>hHa9y-؏O_G#W:]6oŤ`7*-q?f[@RrT@3ܸ-tK_k׷O6Ogu%%ы\'t6uwpYu/ْ-(;DS!*nn&<3p( ?ļI@.1#uSȻh !e~(N"I\,1VR&v/_tE*0Ø.Lo!-"B8;lhQ"Ӕ>\j0n($'VьW;l`{# (t;9dPq۔yĘEMbih՞ERh_vُO