my @up = `cat abc.txt|head -2|tail -1|cut -d' ' -f1-3`;
instead of storing individual fields in array. it's storing entire output string in first element.
this output getting
$up[0] = 'xxx 12 234'
i want this
@up = ('xxx', 12, 234)
|
it looks want first 3 space-delimited fields of second line of file abc.txt
the problem backticks return 1 line of output in each element of array, , because cut
prints 3 fields on single line, appear single array element.
you split
value again inside perl, when have whole of perl language available, it's wasteful use shell simple , should in perl
this program ask. i've used data::dump
can verify contents of @up
wanted
use strict; use warnings 'all'; use data::dump; @up = { open $fh, '<', 'abc.txt' or die $!; <$fh>; # skip 1 line (split ' ', <$fh>)[0 .. 2]; }; dd \@up;
output
["xxx", 12, 234]
Comments
Post a Comment