Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: Array empty

by arno (Scribe)
on Oct 05, 2003 at 13:09 UTC ( #296694=note: print w/ replies, xml ) Need Help??


in reply to Split on . (dot)

hi, In you code, split returns all fields found in $ip using '.' metacharacter as a delimiter. '.' metacharacter matches almost any character but newline. As a consequence,@t will contain invisible characters as NUL character and \n. When you do :

map { print ord $_,"\n" } split(/./, $ip);
You 'll print the ascii code of each element in the returned list by split function. Here's the output i get :
0 
0
0
0
0
10
0 is the ascii NUL and 10 is the newline character. I hope you understand these explanations, Arnaud


Comment on Re: Array empty
Download Code
Re: Re: Array empty
by bart (Canon) on Oct 05, 2003 at 14:11 UTC
    Close. But ord($_) returns 0 not because it contains a null byte, but because it is an empty string.
    print ord("");
    prints: 0
    (Where on earth would he be getting null bytes from?)

    Indeed, the resulting array he's getting after doing

    $ip = "21.23\n"; @t = split /./, $ip;
    is
    ("", "", "", "", "", "\n")
    

    The explanation: every character in the input string, except the newline, is used as a split delimiter. Thus you get, as a result, the stuff between those characters, which is nothing every time, except at the last character.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (4)
As of 2014-09-18 03:39 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (105 votes), past polls