Perl split and join


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Perl split and join
# 1  
Old 01-27-2011
Perl split and join

Hi,

I have tried the split and join functions but stuck with unexpected results. Any help appreciated. I pass multiple values at command line like perl test.pl -type java,xml. This works good for me but i am not sure how to print it in the required format.

Here is the code i tried:
Code:
@file_type = split(/,/,join(" ",@file_type));
print @file_type;

The required output is "\.java \.xml"but it just gives java.

Thanks in advance,
nmattam

Last edited by pludi; 01-27-2011 at 08:09 PM..
# 2  
Old 01-27-2011
Take a look at Getopt::Std for option switch parsing. When you've got the value, all you need is something like this:
Code:
$opt_val = 'java,xml';
@out = map { "\\.".$_ } split (/,/, $opt_val);
print "@out\n";

# 3  
Old 01-27-2011
Code:
use strict;
use warnings;

my @file_type = split(/,/, $ARGV[1]);
foreach (@file_type) {
    $_ = "\\.".$_;
}

print join(" ", @file_type), "\n";

# 4  
Old 01-27-2011
Perl split and join

pludi,

Your solution works good for me. I would request you if the output can be "\.java \.xml". I want " " to be included in the output and not just \.java \.xml

Thanks much for the help.

nmattam
# 5  
Old 01-28-2011
Honestly, that question goes beyond "I need help with a problem" and enters the "I don't want to think for myself" realm. Experiment! Try things! That's the best way to learn.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Perl split and array

Hello, I have the following code: while ($line = <fd_in>) { 126 $line = " " . $line ; 127 print "our_line:$line\n"; 128 @list = split (/\s+/, $line) ; 129 print "after_split:@list\n"; 130 print "$list\t$list\t$list\t$list\t$list\t$list$list\t\n"; 131 $len =... (2 Replies)
Discussion started by: Zam_1234
2 Replies

2. HP-UX

How to split big file on HP-UX and join on Windows?

Hi HP-admins, I have 120GB file on HP-UX and need to split to 4GB pieces and join them on Windows. As I don't want to use zipsplit, tried to use split command and join on windows using "copy /b" but it doesn't work (It merges and creates new file but file is corrupt) What is the correct... (6 Replies)
Discussion started by: prvnrk
6 Replies

3. Shell Programming and Scripting

Perl split function

my @d =split('\|', $_); west|ACH|3|Y|LuV|N||N|| Qt|UWST|57|Y|LSV|Y|Bng|N|KT| It Returns d as 8 for First Line, and 9 as for Second Line . I want to Process Both the Files, How to Handle It. (3 Replies)
Discussion started by: vishwakar
3 Replies

4. Shell Programming and Scripting

Join Function in PERL

Hi, Can any one please let me know, how to join the lines in a file, but based one a condition. There is a file, where few lines start with a date stamp. and few do not. I wanted to join the lines till I find a date stamp. If found date its should in a newline. Please help me. ... (5 Replies)
Discussion started by: thankful123
5 Replies

5. Homework & Coursework Questions

PERL split function

Hi... I have a question regarding the split function in PERL. I have a very huge csv file (more than 80 million records). I need to extract a particular position(eg : 50th position) of each line from the csv file. I tried using split function. But I realized split takes a very long time. Also... (0 Replies)
Discussion started by: castle
0 Replies

6. UNIX for Dummies Questions & Answers

Join multiple Split files in Unix

Hi, I have a big file of 50GB size. I need copy it to a second ftp from a ftp. I am not able to do the full 50GB transfer as it timesout after some time. SO i am trying to split the file into 5gb each 10 files with the below command. split -b 5368709120 pack.tar.gz backup.gz After I... (2 Replies)
Discussion started by: venu_nbk
2 Replies

7. Shell Programming and Scripting

Use split function in perl

Hello, if i have file like this: 010000890306932455804 05306977653873 0520080417010520ISMS SMT ZZZZZZZZZZZZZOC30693599000 30971360000 ZZZZZZZZZZZZZZZZZZZZ202011302942311 010000890306946317387 05306977313623 0520080417010520ISMS SMT ZZZZZZZZZZZZZOC306942190000 30971360000... (5 Replies)
Discussion started by: chriss_58
5 Replies

8. UNIX for Advanced & Expert Users

Split Command in Perl

Hi, I have to split a line of the form 1232423#asdf#124324#54534#dcfg#wert#rrftt#4567 into an array in perl. I am using @fields; @fields=split('#',$line); if($fields eq "1") But this is not working. By using the syntax, the statements in "if" are never executed. Please help.... (9 Replies)
Discussion started by: rochitsharma
9 Replies

9. Shell Programming and Scripting

split question perl

I am interested in 2 and 36th fields in this input file. I was wondering if there was a more efficeint way to do this. ($pt1,$bkup_name,$pt3,$pt4,$pt5,$pt6,$pt7,$pt8,$pt9, $pt10,$pt11,$pt12,$pt13,$pt14,$pt15,$pt16,$pt17, ... (7 Replies)
Discussion started by: reggiej
7 Replies

10. Shell Programming and Scripting

join 2 array in perl?

Hi guys, Can anyone tell me how to join 2 array together? @array1=("abc", "def"); @array2=("xyz", "uuu"); @join_array = fun(@array1,@array2); # @join_array == ("abc", "def", "xyz", "uuu") any function can do what fun(@@) does? thanks Gusla (2 Replies)
Discussion started by: gusla
2 Replies
Login or Register to Ask a Question