USE OF "PERL" in a specific way ..!!


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users USE OF "PERL" in a specific way ..!!
# 1  
Old 06-07-2010
Question USE OF "PERL" in a specific way ..!!

hi all..

i have an input as :

1
5
8
a
j
k

if i have to get the output as:

1. a
5. j
8. k

what will be the perl script which will solve this one..??
# 2  
Old 06-07-2010
Computer

This one is just for fun:
Code:
#!/usr/local/bin/perl

use strict;
use warnings;

my $input='input.file';
my @arr1;
my @arr2;

open(IN,$input) or die "Error opening input file $input: $!\n";
my @arr=<IN>;
close(IN);

foreach (@arr) {   
chomp;
push @arr1, $_ if $_ =~ /[0-9]/;
push @arr2, $_ if $_ =~ /[a-z]/;
}

print "$arr1[0]. $arr2[0]\n";
print "$arr1[1]. $arr2[1]\n";
print "$arr1[2]. $arr2[2]\n";

This User Gave Thanks to pseudocoder For This Post:
# 3  
Old 06-09-2010
One Liner That Scales

Code:
perl -ne 'if ( /(^\d+$)/ ) { $h{++$i} = $1 . ". " }; if ( /(^[a-z]+)$/ ) { $h{$j} = $h{++$j} . $1 }; eof && print map "$h{$_}\n", sort keys %h' data

# 4  
Old 06-11-2010
One liner that does not change the input order

Code:
perl -nle 'if (/^\d+/) { push @nums, $_; } else { push @oth,  $_; } END { for $i (0..($#nums<=$#oth ? $#nums : $#oth)) { print "$nums[$i].$oth[$i]"; } }' data

# 5  
Old 06-12-2010
previous post changes the input order because of the ascii sort, not the hash

Code:
perl -ne 'if ( /(^\d+$)/ ) { $h{++$i} = $1 . ". " }; if ( /(^[a-z]+)$/ ) { $h{$j} = $h{++$j} . $1 }; END { print map "$h{$_}\n", sort { $a <=> $b } keys %h }' data

This does not change the input order either
# 6  
Old 06-12-2010
Quote:
Originally Posted by deindorfer
Code:
perl -ne 'if ( /(^\d+$)/ ) { $h{++$i} = $1 . ". " }; if ( /(^[a-z]+)$/ ) { $h{$j} = $h{++$j} . $1 }; END { print map "$h{$_}\n", sort { $a <=> $b } keys %h }' data

This does not change the input order either
That works! Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. AIX

Apache 2.4 directory cannot display "Last modified" "Size" "Description"

Hi 2 all, i have had AIX 7.2 :/# /usr/IBMAHS/bin/apachectl -v Server version: Apache/2.4.12 (Unix) Server built: May 25 2015 04:58:27 :/#:/# /usr/IBMAHS/bin/apachectl -M Loaded Modules: core_module (static) so_module (static) http_module (static) mpm_worker_module (static) ... (3 Replies)
Discussion started by: penchev
3 Replies

2. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

3. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

4. Shell Programming and Scripting

Perl failure with "main::$fn" used only once:" in error logs

Hi all, Can anyone guess why this is happening? I am new to Perl, so please help me to fix this error: - I have a static html file which calls the cgi-perl script. HTML Code: <html> <head> <title> Hey Dude! </title> </head> <body> <form method="POST"... (3 Replies)
Discussion started by: bashily
3 Replies

5. Shell Programming and Scripting

Substituting comma "," for dot "." in a specific column when comma"," is a delimiter

Hi, I'm dealing with an issue and losing a lot of hours figuring out how i would solve this. I have an input file which looks like this: ('BLABLA +200-GRS','Serviço ','TarifaçãoServiço','wap.bla.us.0000000121',2985,0,55,' de conversão em escada','Dia','Domingos') ('BLABLA +200-GRR','Serviço... (6 Replies)
Discussion started by: poliver
6 Replies

6. UNIX for Dummies Questions & Answers

replace "," with "." only in specific columns of a file?

Hi all, I have this text file containing 9 columns separated by space. The 8th columns contains the numbers. C1 C2 C3 C4 C5 C6 C7 C8 C9 er rt yt gh iu nk il 0.07 xs yt lr ty bg iu zk nh 0,0005 lt ...etc. I want to replace the comma with full stop only in 8th coloumn. the output... (8 Replies)
Discussion started by: Unilearn
8 Replies

7. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

8. Shell Programming and Scripting

perl folder list with "..", without ".".

Hi Everyone, if my folder "foldera" inside has one file. so if i do if ($df =~ /^\./) { next; } then i will get ### filea ### if i want to have ### .. filea ### means also display the parent .., how should i modify the perl ~// in my code? Thanks ---------- Post updated... (6 Replies)
Discussion started by: jimmy_y
6 Replies

9. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies
Login or Register to Ask a Question