>perl -wMstrict -le "my @tests = ( 'RRULE:FREQ=WEEKLY;BYDAY=TU,TH;UNTIL=20110429T000000;WKST=SU', 'RRULE:FREQ=WEEKLY;BYDAY=TU;UNTIL=20110429T000000;WKST=SU', 'RRULE:FREQ=WEEKLY;BYDAY=TU,TH,FR;UNTIL=20110429T000000;WKST=SU', 'BYDAY=MO,WE;FOO;BYDAY=TU,TH;BAR', ); ;; for my $test (@tests) { my @bydays = $test =~ m{ (?: BYDAY= | \G ,) ([A-Z]+) }xmsg; print qq{@bydays}; } " TU TH TU TU TH FR MO WE TU TH