We have found these regular expressions useful or interesting.
m/^m*(d?c{0,3}|c[dm])(l?x{0,3}|x[lc])(v?i{0,3}|i[vx])$/is/(\S+)(\s+)(\S+)/$3$2$1/
m/(\w+)\s*=\s*(.*)\s*$/ # keyword is $1, value is $2
m/.{80,}/m|(\d+)/(\d+)/(\d+) (\d+):(\d+):(\d+)|
s(/usr/bin)(/usr/local/bin)g
s/%([0-9A-Fa-f][0-9A-Fa-f])/chr hex $1/ge
s{
/\* # Match the opening delimiter
.*? # Match a minimal number of characters
\*/ # Match the closing delimiter
} []gsx;s/^\s+//; s/\s+$//;
s/\\n/\n/g;
s/^.*:://
m/^([01]?\d\d|2[0-4]\d|25[0-5])\.([01]?\d\d|2[0-4]\d|25[0-5])\. ([01]?\d\d|2[0-4]\d|25[0-5])\.([01]?\d\d|2[0-4]\d|25[0-5])$/;
s(^.*/)()
$cols = ( ($ENV{TERMCAP} || " ") =~ m/:co#(\d+):/ ) ? $1 : 80;($name = " $0 @ARGV") =~ s, /\S+/, ,g;
die "This isn't Linux" unless $^O =~ m/linux/i;
s/\n\s+/ /g
@nums = m/(\d+\.?\d*|\.\d+)/g;
@capwords = m/(\b[^\Wa-z0-9_]+\b)/g;
@lowords = m/(\b[^\WA-Z0-9_]+\b)/g;
@icwords = m/(\b[^\Wa-z0-9_][^\WA-Z0-9_]*\b)/;
@links = m/<A[^>]+?HREF\s*=\s*["']?([^'" >]+?)[ '"]?>/sig;
($initial) = m/^\S+\s+(\S)\S*\s+\S/ ? $1 : "";
s/"([^"]*)"/``$1''/g
{ local $/ = "";
while (<>) {
s/\n/ /g;
s/ {3,}/ /g;
push @sentences, m/(\S.*?[!?.])(?= |\Z)/g;
}
}m/(\d{4})-(\d\d)-(\d\d)/ # YYYY in $1, MM in $2, DD in $3m/ ^
(?:
1 \s (?: \d\d\d \s)? # 1, or 1 and area code
| # ... or ...
\(\d\d\d\) \s # area code with parens
| # ... or ...
(?: \+\d\d?\d? \s)? # optional +country code
\d\d\d ([\s\-]) # and area code
)
\d\d\d (\s|\1) # prefix (and area code separator)
\d\d\d\d # exchange
$
/xm/\boh\s+my\s+gh?o(d(dess(es)?|s?)|odness|sh)\b/i
push(@lines, $1)
while ($input =~ s/^([^\012\015]*)(\012\015?|\015\012?)//);