print "\n"; my %names; { open my $name, 'gly_structures.txt' or die; while ( <$name> ) { my ( $ref_num, $glycan_name ) = split /\|/; die if defined $names{ $ref_num }; # die on duplicates $names{ $ref_num } = $glycan_name; } } open my $struct, 'N_structures.txt' or die; while ( <$struct> ) { my $number = ( /(\d+)/ )[ 0 ]; next unless defined $number; my $GU_web; open my $info_web, "${number}_info.txt" or die; while ( <$info_web> ) { if (/^(\d+\.\d+)\D/) { # probably wrong $GU_web = $1; last; } } close $info_web; die unless defined $GU_web; my $image = qq(); defined( my $structure_name = $names{ $number } ) or die; print "\n"; } print "
$GU_web$image$structure_name
\n";