Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

Re: split and uninitialized variables

by jeffa (Bishop)
on Sep 03, 2004 at 15:26 UTC ( #388308=note: print w/replies, xml ) Need Help??

in reply to split and uninitialized variables

I prefer to store the list returned by split in an array or hash slice:

use strict; use warnings; use Data::Dumper; my @key = qw(x y z); my %hash; while (<DATA>) { chomp; @hash{@key} = split ','; print Dumper \%hash; } __DATA__ a,b,c a,b a,b,c,d a,,,

[UPDATE] No. Scalars are not the better choice simply because you know what the data that you are working on looks like. If you deal with multiple things, why not put them in a container so you only have to move one thing around? :)


(the triplet paradiddle with high-hat)

Replies are listed 'Best First'.
Re^2: split and uninitialized variables
by podian (Scribe) on Sep 03, 2004 at 16:28 UTC
    That is what I usually do. But if you know what the data you are working on, then scalars will be better.
    One example could be "name, address-line1, address-line2"
    and line 2 might be or might not be present.
    So to summarise the replies, it would be better to initialize them in the next line.
    All the other solutions seem to have some problems!

      The ( '' ) x 3 solution doesn't.

      Another option:

      my ( $foo, $bar, $baz ); $_ .= '' for ( $foo, $bar, $baz ) = split /,/;

      Makeshifts last the longest.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://388308]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (8)
As of 2018-07-20 20:45 GMT
Find Nodes?
    Voting Booth?
    It has been suggested to rename Perl 6 in order to boost its marketing potential. Which name would you prefer?

    Results (441 votes). Check out past polls.