В этой части вы используете =~
, где должен быть знак равенства =
my $gst_validation =~ /\d{2}[A-Z]{5}\d{4}[A-Z]{1}[A-Z\d]{1}[Z]{1}[A-Z\d]{1}/;
Если вы хотите использовать в качестве переменной, вы можете использоватьqr
Обратите внимание, что вы можете опустить {1}
из шаблона, и вам не нужно использовать квадратные скобки вокруг [Z]
Ваш код может выглядеть как
my $gst_number_input = '35AABCS1429B1AX';
my $gst_number_character_count = length($gst_number_input);
my $gst_validation = qr/\d{2}[A-Z]{5}\d{4}[A-Z][A-Z\d]Z[A-Z\d]/;
if ($gst_number_character_count == 15 && $gst_number_input =~ $gst_validation) {
print "GST Number is valid";
} else {
print "Invalid GST Number";
}