use strict;
my $str = 'Ὁμώνυμα λέγεται Aequivoca dicuntur ὧν ὄνομα μόνον κοινόν, quorum nomen solum commune est
ὁ δὲ κατὰ τοὔνομα λόγος τῆς οὐσίας ἕτερος secundum nomen vero substantiae ratio diversa, οἷον ζῷον ut animal ὅ τε ἄνθρωπος καὶ τὸ γεγραμμένον homo et quod pingitur·
ἀ·κρασία, -ας, ἡ
Noun (Fem. 1st Decl.)
Not all forms below are necessarily attested. Highlighted words may or may not be a match to the GNT or LXX, if another word also inflects the same way.
1st Decl. Feminine Noun
Contracted Uncontracted
Sg Voc ακρασια ακρασι·α
Nom
Acc ακρασιαν[GNT] ακρασι·αν
Dat ακρασιᾳ ακρασι·ᾳ
Gen ακρασιας[GNT] ακρασι·ας
Pl Voc ακρασιαι ακρασι·αι
Nom
Acc ακρασιας[GNT] ακρασι·ας
Dat ακρασιαις[LXX] ακρασι·αις
Gen ακρασιων ακρασι·ων
';
my $regex = qr/\b\p{Greek}+/up;
if ( $str =~ /$regex/g ) {
print "Whole match is ${^MATCH} and its start/end positions can be obtained via \$-[0] and \$+[0]\n";
# print "Capture Group 1 is $1 and its start/end positions can be obtained via \$-[1] and \$+[1]\n";
# print "Capture Group 2 is $2 ... and so on\n";
}
# ${^POSTMATCH} and ${^PREMATCH} are also available with the use of '/p'
# Named capture groups can be called via $+{name}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Perl, please visit: http://perldoc.perl.org/perlre.html