in reply to Re^2: way of declare an integer variable instead use /^\d+$/
in thread way of declare an integer variable instead use /^\d+$/
A static typing, i.e. at compilation time, is nearly impossible.
Otherwise you'd need to type everything, including the result of functions. Even then....¹
A check at runtime is costly, that's why dynamically typed languages are slower, but easier to code.
As I already said, you could tie the variable with a self-made STORE (This, Value) function which does your checks on Value before storing it.
Attribute::Handlers has an example for Syntactic sugar to "hide" the tie-ing procedure behind an attribute.
I'm not aware of any CPAN modules already providing that, especially because there are certainly different models how to react on wrong types ( die , warn , transform, combine)
I already gave you all the links, you'd need to do it yourself for your own needs.
For instance 1E0 is a whole number in float notation, opinions will differ.
I'm saying all of this for completeness, because it's a total overkill for your problem.
There is no magic wand which can do the heavy lifting for you...
Cheers Rolf
(addicted to the Perl Programming Language :)
see Wikisyntax for the Monastery
¹) Perl, like other dynamic languages, does a lot of DWIM typecasting of variables. This doesn't translate well if you want to keep it fast.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: way of declare an integer variable instead use /^\d+$/
by bliako (Abbot) on May 26, 2024 at 11:41 UTC | |
by LanX (Saint) on May 26, 2024 at 11:59 UTC | |
|
Re^4: way of declare an integer variable instead use /^\d+$/
by vincentaxhe (Scribe) on May 27, 2024 at 01:50 UTC |