>
Thanks for all of you.

>
> my %abbrev;
>
> open my $fh, '<', 'try.txt';
>
>
> while(my $line = <$fh>) {
>  chomp $line;
>  my $abbr = join '', $line =~ /[A-Z]/g;
>  $abbrev{$abbr} = $line;

Here I changed it to    $abbrev{$line} = $abbre;

> }
>
> use Data::Dumper;
> print Data::Dumper->Dump([\%abbrev], ['*abbrev']);
>
> **OUTPUT**
>
> %abbrev = (
>            'CNSNDDT' => 'CNS Neurol Disord Drug Targets',
>            'NCB' => 'Nature Cell Biol.',
>            'IF' => 'Intermolecular Forces',
>            'NRMCB' => 'Nat. Rev. Mol. Cell Biol.',
>            'NN' => 'Nat. Neurosci.',
>            'ERMM' => 'Expert Reviews in Molecular Medicine.'
>          );

OUTPUT:
%abbrev = (
            'CNS Neurol Disord Drug Targets' => 'CNSNDDT',
            'Intermolecular Forces' => 'IF',
            'Expert Reviews in Molecular Medicine.' => 'ERMM',
            'Nat. Neurosci.' => 'NN',
            'Nat. Rev. Mol. Cell Biol.' => 'NRMCB',
            'Nature Cell Biol.' => 'NCB'
          );

My question is that how can I sort the values. I googled for a while.

sort $abbrev{$a} cmp $abbrev{$b} it complains that:

name "main::b" used only once: possible typo at try.pl line 24.
Name "main::a" used only once: possible typo at try.pl line 24.
Use of uninitialized value $a in hash element at try.pl line 24,
<$_[...]> line 6.
Use of uninitialized value $b in hash element at try.pl line 24,
<$_[...]> line 6.
Use of uninitialized value in string comparison (cmp) at try.pl line
24, <$_[...]> line 6.
Use of uninitialized value in string comparison (cmp) at try.pl line
24, <$_[...]> line 6.
Use of uninitialized value in concatenation (.) or string at

Thanks again,

--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to