Moin Moin,
ich brauche mal ein paar Tipps von euch alten Hasen oder euch jungen
Überfliegern.
Ich arbeite mit folgendem PERL Modul Win32::SerialPort
http://search.cpan.org/~bbirth/Win32-SerialPort-0.22/lib/Win32/SerialPort.pm
Ich will jetzt die Methode im mir vorliegenden Code verstehen:
1 | $PortObj->are_match( chr(0x03) );
|
In der Doku nachgesehen:
$PortObj->are_match("text", "\n"); # possible end strings
... ok bring mich nicht wirklich weiter.
Im lib Ornder auf der Festplatte SerialPort.pm gefunden.
Hier die Sub gefunden
1 | sub are_match {
|
2 | my $self = shift;
|
3 | my $pat;
|
4 | my $re_next = 0;
|
5 | if (@_) {
|
6 | @{ $self->{"_MATCH"} } = @_;
|
7 | @{ $self->{"_CMATCH"} } = ();
|
8 | while ($pat = shift) {
|
9 | if ($re_next) {
|
10 | $re_next = 0;
|
11 | eval 'push (@{ $self->{"_CMATCH"} }, qr/$pat/)';
|
12 | } else {
|
13 | push (@{ $self->{"_CMATCH"} }, $pat);
|
14 | }
|
15 | if ($pat eq "-re") {
|
16 | $re_next++;
|
17 | }
|
18 | }
|
19 | }
|
20 | return @{ $self->{"_MATCH"} };
|
21 | }
|
Ab hier ist jetzt der Knoten im Hirn festgezogen worden.