Hi there! I'm very new to Perl and just don't understand an error message I got.Hope you can help me.
Now, the file I'm working with contains the following data: ;Structural Safety;Elsevier SD;;; ;Structural Safety (95 ... );ZB-HP;Elsevier;nur online (HGF); ;Subsurface sensing technologies and applications;ZB-HP;KluwerOnline;HGF; ;Superlattices and Microstructures _(96 ... );ZB-HP;Academic;nur online; And here's the little script I've written so far: -------------------------------------------------------------------------------- 1 #!/usr/bin/perl -w 2 use strict; 3 my $line; 4 my %titles; 5 my $title; 6 my $key; 7 my $value; 8 9 open INPUT , "test" 10 or die "Could not open file: $! "; 11 12 while (defined($line = <INPUT>)) { 13 if ($line =~/^;([^;]+)\s?;Elsevier (SD);/) { 14 #print "$1\t$2\n\n"; 15 $titles{$1}= $2; 16 } 17 elsif ($line =~/^;([^\(]+)\s?[^\)]+\)\s?;(ZB-HP);Elsevier;/ ){ 18 #print "$1\t$2\n\n"; 19 $title = $1; 20 $title =~ s/\s$//; 21 $titles{$title}= $2; 22 } 23 } 24 while ( ($key, $value) = each %titles) { 25 print "$key => $value\n"; 26 } -------------------------------------------------------------------------------- The only lines of interest in the working file are those containing the strings ";Elsevier SD;" and ";ZB-HP;Elsevier;" (see regexes in l.13 and l.17) Key - value pairs like Structural Safety => SD are to be stored in a hash. At first, my programm did not contain line 20. Therefore, %titles had these elements: Structural Safety => SD Structural Safety => ZB-HP As keys of a hash are unique strings, I noticed that there is a whitespace character at the end of the string which $1( see regex l.17) holds.That's why I inserted l.20.The two strings should now be exactly the same and the hash should have only one element: Structural Safety => ZB-HP Instead, I get the following error output: Use of uninitialized value in concatenation (.) or string at test.pl line 25, <INPUT> line 4. Can someone tell me why?I can't see the problem. Many thanx in advance! Nicole -- Was immer du tun kannst oder erträumst zu können, beginne es. Kühnheit besitzt Genie, Macht und magische Kraft. Beginne es jetzt. (Johann Wolfgang Goethe) -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]