appending to perl array


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers appending to perl array
# 1  
Old 05-23-2005
appending to perl array

hi i ahve a loop like this

while(<infile>)
{
($file1,$file2)=split(/=/);

//here i have to appended the file 1 value to array..how can i do it?
}

// cause here i ahve to display entire file1 and file2 values


thanks and regards
vivek.s
# 2  
Old 05-23-2005
got it :-)

$i=0;
while(<infile>)
{
($file1,$file2)=split(/=/);
@line1[i]=$file1;
@line2[i]=$file2;
i++;
}

regards
vivek.s
# 3  
Old 05-23-2005
This should read, isn't it?

Code:
$i=0;
 while(<infile>)
 {
 ($file1,$file2)=split(/=/);
 $line1[$i]=$file1;
 $line2[$i]=$file2;
 $i++;
 }

# 4  
Old 05-24-2005
thanks hong.....so array can be used using $ also is it .........no what the need of @ anyway?

thanks!

regards
vivek.s
# 5  
Old 05-24-2005
Actually, to refer to ONE element of am array or a hash, you SHOULD use $ instead of @. Perl will generate a warning if you use @ for this case if you have warning turned on.

From the perldata manpage (near the top):

Quote:
Scalar values are always named with '$', even when referring to a scalar that is part of an array or a hash. The '$' symbol works semantically like the English word "the" in that it indicates a single value is expected.

Code:
 
    $days               # the simple scalar value "days"
    $days[28]           # the 29th element of array @days
    $days{'Feb'}        # the 'Feb' value from hash %days
    $#days              # the last index of array @days



Entire arrays (and slices of arrays and hashes) are denoted by ' @', which works much like the word "these" or "those" does in English, in that it indicates multiple values are expected.

Code:
 
    @days               # ($days[0], $days[1],... $days[n])
    @days[3,4,5]        # same as ($days[3],$days[4],$days[5])
    @days{'a','c'}      # same as ($days{'a'},$days{'c'})

# 6  
Old 05-25-2005
Thanks a lot!! :-)


Regards
Vivek.S
# 7  
Old 06-03-2006
Array as part of scalar

Hi, just a follow up question on split....

If we've a list of lines in the file such as the following...

1 a b c /* rrsss */
2 d e f /* reres */

If we want to split those after /* till end of line as array to be called later on, how can we do this without splitting each element by spaces..

($num, $x, $y, $z, @rest) = split (/\s+/, $_)

the @rest need to be associatively linked to $num..is it possible to do this directly without the need to split the @rest further...

Thanks in advance.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Perl array

Hi. I have 2 arrays, @result and @comment. Result contains 1 2 3 and comment contains a b c my code is below my @multi = (@result, @comment); foreach (@multi) { print array; } For this I am getting result 1 2 (2 Replies)
Discussion started by: sauravrout
2 Replies

2. Shell Programming and Scripting

Perl Array help

okay so my job is requiring me to learn perl and i have never had any type of programming language... ever. So i need to take a file that has data (nodes/points) with x, y, and z components. Example of what the file contains is below: RANDOM TEXT RANDOM TEXT Node # x pos ... (23 Replies)
Discussion started by: dets34
23 Replies

3. Shell Programming and Scripting

HELP on Perl array / sorting - trying to convert Korn Shell Script to Perl

Hi all, Not sure if this should be in the programming forum, but I believe it will get more response under the Shell Programming and Scripting FORUM. Am trying to write a customized df script in Perl and need some help with regards to using arrays and file handlers. At the moment am... (3 Replies)
Discussion started by: newbie_01
3 Replies

4. Shell Programming and Scripting

PERL : Read an array and write to another array with intial string pattern checks

I have an array and two variables as below, I need to check if $datevar is present in $filename. If so, i need to replace $filename with the values in the array. I need the output inside an ARRAY How can this be done. Any help will be appreciated. Thanks in advance. (2 Replies)
Discussion started by: irudayaraj
2 Replies

5. Shell Programming and Scripting

Array in Perl - Detect several file to be in one array

Hi everyone I have one question about using array in perl. let say I have several log file in one folder.. example test1.log test2.log test3.log and the list goes on.. how to make an array for this file? It suppose to detect log file in the current directory and all the log file will... (3 Replies)
Discussion started by: sayachop
3 Replies

6. Shell Programming and Scripting

perl, put one array into many array when field is equal to sth

Hi Everyone, #!/usr/bin/perl use strict; use warnings; my @test=("a;b;qqq;c;d","a;b;ggg;c;d","a;b;qqq;c;d"); would like to split the @test array into two array: @test1=(("a;b;qqq;c;d","a;b;qqq;c;d"); and @test2=("a;b;ggg;c;d"); means search for 3rd filed. Thanks find the... (0 Replies)
Discussion started by: jimmy_y
0 Replies

7. Shell Programming and Scripting

Perl grep array against array

Hi, Is there any way I can grep an array against another array? Basically here's what I need to do. There will be an array containing some fixed texts and I have to check whether some files contain these lines. Reading the same files over and over again for each different pattern doesnt seem... (1 Reply)
Discussion started by: King Nothing
1 Replies

8. Shell Programming and Scripting

perl -write values in a file to @array in perl

Hi can anyone suggest me how to write a file containing values,... say 19 20 21 22 .. 40 to an array @array = (19, 20, ... 40) -- Thanks (27 Replies)
Discussion started by: meghana
27 Replies

9. Shell Programming and Scripting

[Perl] Accessing array elements within a sed command in Perl script

I am trying to use a script to replace the header of each file, whose filename are stored within the array $test, using the sed command within a Perl script as follows: $count = 0; while ( $count < $#test ) { `sed -e 's/BIOGRF 321/BIOGRF 332/g' ${test} > 0`; `cat 0 >... (2 Replies)
Discussion started by: userix
2 Replies

10. Shell Programming and Scripting

Perl - Appending/Modifying Excel files

Hi I have been using Spreadsheet::ParseExcel and Spreadsheet::WriteExcel to read and write excel workbooks, respectively. Spreadsheet::WriteExcel can only be used for creating new excel spreadsheets. I am looking for a module that would/should help me in appending to existing excel files.... (2 Replies)
Discussion started by: srinivay
2 Replies
Login or Register to Ask a Question