Beefy Boxes and Bandwidth Generously Provided by pair Networks Bob
"be consistent"
 
PerlMonks  

Re: Perl Humor

by gmpassos (Priest)
on Sep 21, 2002 at 01:23 UTC ( #199684=note: print w/ replies, xml ) Need Help??


in reply to Perl Humor

The best is this 3 questinos, making fun with C and ROMAN Numbers:

------------------------------------------
How do I convert a string to a number?

Use this atoi function:

sub atoi { my $t; foreach my $d (split(//, shift())) { $t = $t * 10 + $d; } } $number = atoi("123");
------------------------------------------
How do I convert a number to a string?

Use sprintf:

$string = sprintf("%f", 123.45);

------------------------------------------
How can I tell if a string is a number?

The simplest method is:

if ($string == "$string") { # It is a number }
Note the use of the == operator to compare the string to its numeric value. However, this approach is dangerous because the $string might contain arbitrary code such as @{[system "rm -rf /"]} which would be executed as a result of the interpolation process. For safety, use this regular expression:
if ($var =~ /(?=.)M{0,3}(C[MD]|D?C{0,3})(X[CL]|L?X{0,3})(I[XV]|V?I{0 +,3})/) { print "$var contains a number.\b"; }

Graciliano M. P.
"The creativity is the expression of the liberty".

Edit kudra, 2002-09-21 Fixed literal brackets


Comment on Re: Perl Humor
Select or Download Code
Re^2: Perl Humor
by Aristotle (Chancellor) on Sep 21, 2002 at 09:06 UTC
    the $string might contain arbitrary code such as @{[system "rm -rf /"]} which would be executed as a result of the interpolation process.
    Heh, that's mocking shell, not C, and really caught me off guard for a moment before the d'uh bells went off.

    Makeshifts last the longest.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://199684]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (6)
As of 2014-04-17 08:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (441 votes), past polls