Himanshu Ardawatia am Sonntag, 26. November 2006 11:49: > Hi, Hi
> I have two files : > File A contains the following : > ((((9,(6,8)),((4,((3,2),1)),5)),(12,11)),(13,(7,10))); > > File B contains the follwoing: > 1 A > 2 B > 3 C > 4 D > 5 E > 6 F > 7 G > 8 H > 9 I > 10 J > 11 K > 12 L > 13 M > > Based on the file B, I want to modify the file A such that all numerics in > file A get changed to the alphabets in column 2 of file B (by mapping > column 1 of file B to file A) such that file A is effectvly modified to : > ((((I,(F,H)),((D,((C,B),A),E)),(L,K)),(M,(G,J))); > > Is there a way of doing it in perl ? Certainly! #!/usr/bin/perl use strict; use warnings; my $str='((((9,(6,8)),((4,((3,2),1)),5)),(12,11)),(13,(7,10)));'; my %subst=qw( 1 A 2 B 3 C 4 D 5 E 6 F 7 G 8 H 9 I 10 J 11 K 12 L 13 M ); $str=~s/(\d+)/$subst{$1}/g; print $str; __END__ perldoc perlre perldoc perlop To avoid the impression that this list is a script service: Try to initialize %substr from file and process the input file line per line. If you then have further questions, please provide what you tried and ask again :-) See perldoc open perldoc close perldoc chomp perldoc -f while Hope this provides a start! Dani -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>