http://qs1969.pair.com?node_id=186546


in reply to Regex with digits

Abigail-II's solution filters out all lines that end in a single-digit, which is exactly++ what you asked for here. But, if you are also trying to filter out strings with 'non-word' characters in the final chunk as you sought in this thread, remember that '\w' matches only alphanumeric plus '_'. It will not match '-' so, if you are still trying to perform both filters, you will continue to skip line 2 of your example.

Combining the two requirements, adding '-' to the 'words' character set, does this do what you want?

#!/usr/bin/perl -w use strict; foreach my $lastone (<DATA>){ if ($lastone =~ m{/[-\w]+$} && $lastone !~ m{/\d$}){ print $lastone; } } __END__ hull/uuu/8 cook/too/un-8-9 luck/goo@@ luck/goo yty~uyuoo~iu99~##uyt~hu/dwo9 chuck/ii@@/a_

mkmcconn