James Kipp wrote:
>
> I want to split the string below into rows and then columns. I know i can do
> a couple of splits, push array refs onto a new array, regex it, etc.. But I
> was know the talented people on this list can shorten the code considerably.
> I want to split at each new line for the row, then split the row into
> columns, and get rid of the "%" on the third column. I can post my
> embarrassingly long code if you like.
> Thanks for any help
> Jim
> ----
>
> $str = "
> /var 0.99 50%
> /usr 0.58 71%
> /tmp 0.49 1%
> "
Hi James.
Don't forget that shortening code is usually more of a pastime
than anything useful, but if your code is /huge/ it can add to
readability.
Does this help? The grep just throws out blank lines.
Cheers,
Rob
use strict;
use warnings;
my $str = "
/var 0.99 50%
/usr 0.58 71%
/tmp 0.49 1%
";
my @data = map { tr/%//d; [split ' '] } grep /\S/, split "\n", $str;
use Data::Dumper;
print Dumper [EMAIL PROTECTED];
**OUTPUT
$VAR1 = [
[
'/var',
'0.99',
'50'
],
[
'/usr',
'0.58',
'71'
],
[
'/tmp',
'0.49',
'1'
]
];
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>