On 18 Feb, 2012, at 23:11, Shawn H Corey <shawnhco...@gmail.com> wrote:
> On 12-02-18 09:42 AM, lina wrote: >> Hi, >> >> Sorry to open a new thread, >> >> Use of uninitialized value within %dict in concatenation (.) or string >> at ./translate.pl line 21,<$fh> line 128. >> >> Here is the whole code (based on the guide form all of you): >> >> #!/usr/bin/perl >> >> use warnings; >> use strict; >> >> my $file = "dm_proAB.xpm"; >> >> open my $fh, "<", $file or die "could not open $file: $!\n"; >> >> my %dict; >> >> while ( my $xpm_file =<$fh> ){ >> >> if ($xpm_file =~ m/([A-Za-z]).+"([0-9.]+)/) { >> $dict{$1} = $2; >> } >> >> elsif ( $xpm_file =~ /^"(\S+)[",]$/) { Are there some possibilities that something can be done for the part [",]? Make it recognize both end with " or ", Thanks, >> $xpm_file =~ s/(.)/$dict{$1} /g; > > $dict{ q{"} } does not exists, therefore you get a concatenation error. Try: > > $xpm_file =~ s/(.)/exists( $dict{$1} ) ? "$dict{$1} " : '' /eg; > >> print $xpm_file; >> } >> } >> >> here is a brief part of the "dm_proAB.xpm" >> (The full version I uploaded to: >> https://docs.google.com/open?id=0B93SVRfpVVg3NWIwZDFiNTAtMmY1MS00YTg2LTg5NjAtZTlkZjQyOWVlNzM5 >> >> "W c #6F6F6F " /* "0.846" */, >> "X c #696969 " /* "0.885" */, >> "Y c #626262 " /* "0.923" */, >> "Z c #5C5C5C " /* "0.962" */, >> "a c #555555 " /* "1" */, >> "b c #4E4E4E " /* "1.04" */, >> "c c #484848 " /* "1.08" */, >> "d c #414141 " /* "1.12" */, >> "abcdbacd", >> "bcdacbXX" >> >> The output is: >> >> >> Use of uninitialized value within %dict in concatenation (.) or string >> at ./translate.pl line 21,<$fh> line 138. >> Use of uninitialized value within %dict in concatenation (.) or string >> at ./translate.pl line 21,<$fh> line 138. >> 0 0.115 0.346 0.615 0.923 1.15 1.5 1.5 1.5 1.5 1.5 1.5 1.46 1.19 1.5 >> 1.5 1.5 1.5 1.15 1.15 0.885 0.538 0.5 0.731 0.846 0.731 0.808 1.19 >> 1.31 1.5 1.5 1.5 1.5 1.5 1.5 1.46 1.27 1 0.731 0.692 0.769 1 1.5 1.5 >> 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 >> 1.5 1.5 1.27 1.12 0.923 0.731 0.538 0.462 0.808 1.12 1.35 1.5 1.5 1.5 >> 1.5 1.5 1.35 1.31 1.35 1.35 1.5 1.5 1.5 >> >> I don't understand the message well even I can do a basic guess, >> >> Thanks, >> > > > -- > Just my 0.00000002 million dollars worth, > Shawn > > Programming is as much about organization and communication > as it is about coding. > > It's Mutual Aid, not fierce competition, that's the dominate > force of evolution. Of course, anyone who has worked in > open source already knows this. > > -- > To unsubscribe, e-mail: beginners-unsubscr...@perl.org > For additional commands, e-mail: beginners-h...@perl.org > http://learn.perl.org/ > > -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/