#!/usr/bin/perl  use strict;  use warnings;  use vars qw(@chars);  # Beispieldatensatz  my $msg = '1111' . '2222' . '3333' . '4444' . 'A' . '_' x 25 .            '55' . '66' . '77' . '88' . '_' x 2 .            'B' .  '_' x 5 . 'C' . '_' x 11 .            'D' . '_' x 3 . 'E' x 24 .            'F' . 'G' . 'H' . 'I' . 'J' . 'K' . 'L' . '_';  print("Ein Datensatz: $msg\n\n");  # den gleichen Datensatz noch 2mal anghaengen  $msg .= $msg x 2;  # --- Begin interessanter Teil  # String in Datensaetze splitten  my(@records) = $msg =~ /(\w{106})/g;  foreach my $record ( @records ) {      my(%fields, $num);      (@fields{qw(ID exp zenny exp_job lv_job hp hp_max sp sp_max                  jobID lv hair_color name str agi vit int dex luk )}, $num)           = unpack("V V V V C x25 v v v v x2 C x5 C x11 C x3 Z24 C C C C C C C", $record );      $chars[$num] = \%fields;  }  # --- Ende interessanter Teil  # Datensatz mit Index 76 ausgeben  foreach my $key ( keys %{ $chars[76] } ) {      printf("%s\t%s\n", $key, $chars[76]->{$key} );  }