in reply to Retrieve only what I need from split without using temp array

MasterGremlin,
Someone will likely beat me to the punch, but what you want to do is treat the split anonymously. You can then get the index you want and throw away the rest.
print ((split ',' , $foo)[2])); print "\n";

That just looks nasty. I use this quite a bit when using stat and am only interested in say the file size, but then I am assigning it to a single scalar $size as merlyn shows, which eliminates the need for the second set of parens.

Cheers - Limbic~Region
Update Added parens to get it to work.

Replies are listed 'Best First'.
Re: Re: Retrieve only what I need from split without using temp array
by leriksen (Curate) on Aug 06, 2003 at 03:05 UTC
    um - why dont you use File::Stat's OO interface - surely it is also clearer to others what you are doing
    use File::Stat; print File::Stat->new($file)->size(), "\n";
    granted, this is a module that isn't standard in Perl, as opposed to stat(), so you need to do the MakeMaker waltz, but I think it is worth going the extra mile for the much clearer code.
    Is there a reason why you prefer stat() ?
      granted, this is a module that isn't standard in Perl, as opposed to stat(), so you need to do the MakeMaker waltz, but I think it is worth going the extra mile for the much clearer code.

      In many cases, scripts have to run on multiple platforms, with different versions of perl/mod_perl. In those situations, it's painful to have to build File::Stat just so someone doesn't have to see my $size=(stat $file)[7], which is pretty clear anyhow if you assign it to an appropriately named variable.

      If you KNOW all the platforms have 5.8.0 or better available, you could use File::stat, but I'm not sure that's that big a win either over just plain stat. I guess I just prefer the builtin in this case.
      --
      Mike

      Or even just: my $size = -s $file;

      bbfu
      Black flowers blossom
      Fearless on my breath