in reply to Split on . (dot)
This is how I would attack the problem:
#!/usr/bin/perl print "Entrez votre ip :"; $ip=<STDIN>; @t=split(/(.)/,$ip); # Surround the delimiter in (), then the # regexp matches become array elements print scalar @t,"\n"; # Don't waste a variable print "[$_]\n" for @t; # Surround each match by brackets, # print each match on its own line.
Then your output becomes:
Entrez votre ip :21.23 11 [] [2] [] [1] [] [.] [] [2] [] [3] [ ]
"Oh, each byte was a match," says I. Changing @t=split(/(.)/,$ip); to @t=split(/(\.)/,$ip); gives:
Entrez votre ip :21.23 3 [21] [.] [23 ]
OK, good. Now we need to get rid of that line feed, and take the delimiter out of the array. Final code:
#!/usr/bin/perl print "Entrez votre ip :"; $ip=<STDIN>; @t=split(/[.\n]/,$ip); # Don't need \. for period in [ ] print scalar @t,"\n"; print "[$_]\n" for @t;
Which outputs:
Entrez votre ip :21.23 2 [21] [23]
Was that what you were looking for?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Array empty
by Aristotle (Chancellor) on Oct 05, 2003 at 18:39 UTC |