#!/usr/bin/perl use strict; use warnings; # Diverse ISBN-13 ("Bookland"-EAN-Format) my @isbns = qw/    978-1-56592-243-3    978-0-596-00173-5    978-3-8273-1812-1    978-3-89721-109-4    978-3-8272-6153-3    978-3-89721-142-1    /; # Dies wird ein Hash of Arrays mit den ISBNs nach Verlag my %isbns_by_publisher; for my $isbn (@isbns) {    # Kopiere ISBN und loesche in der Kopie alles, was keine Ziffer ist    (my $clean_isbn = $isbn) =~ tr/0-9//cd;    # Check auf korrekte Laenge    if (length $clean_isbn != 13) {        warn "not a valid ISBN-13: $isbn\n";        next;    } else {        # ISBN dem zugehoerigen Array im Hash hinzufuegen.        # Schluessel ist der Code des entsprechenden Verlags,        # Verlag ist in den Ziffern 5-8 der ISBN-13        push @{$isbns_by_publisher{substr $clean_isbn, 4, 4}}, $isbn;    } } for my $key (sort keys %isbns_by_publisher) {    print "Verlagsschluessel $key:\n";    print "$_\n" for @{$isbns_by_publisher{$key}};    print "\n"; }