Welcome to the wonderful world of Perl.
The thing after the $val is called a "Regular Expression" and is, arguably, one of Perl's finest features. You can read all about it at perlre and the tutorial at perlretut
The $1 (and $2) fall out from the use of the regular expression and specifically the capture groups within it which are delimited by the parentheses, eg. whatever is matched by ([^\.]*) is stored in $1, etc. They are not related to anything specific in the verilog module.
The documentation for Perl is also a strong point and I encourage you to become familiar with it and how to use it at the earliest opportunity. You can read it online or from your local machine with the handy perldoc command.
If you are still stuck parsing the regular expression (regex) after this, then by all means ask further.
In reply to Re: Beginner confused with string matching
by hippo
in thread Beginner confused with string matching
by mavericknik
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |