Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much

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 meditating upon the Monastery: (6)
As of 2018-03-20 19:52 GMT
Find Nodes?
    Voting Booth?
    When I think of a mole I think of:

    Results (259 votes). Check out past polls.