my $data_in="ISBN 90-70002-34-5"; $data_in=~ s/^ISBN//; $data_in=~ s/ /-/g; $data_in=~ s/-//g; my @isbn=split('', $data_in); my $count=scalar @isbn; unless (($count eq 10) && (!($count=~ m/[a-z]/i))){ warn "not enough digits in ISBN: $count instead of 10\n"; } #### # data from the database you are checking against my $data_in="90 70002 34 5"; # inputed data my $check_data="ISBN 90-70002-34-5"; $check_data=~ s/^ISBN//; $check_data=~ s/-/ /g; $check_data=~ s/^ //; unless (($data_in eq $check_data) && (!($count=~ m/[a-z]/i))){{ die "failure: data in does not match db record\n"; }