Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
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 rifling through the Monastery: (16)
As of 2015-07-06 20:45 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (83 votes), past polls