You are already capturing it in $2. You just need to print it:
use warnings;
use strict;
my $str = "This is a string which has bi-weekly data";
if ($str =~ /(\w+)[- ](daily|month|days|weekly|week)/) {
my $found= $1;
print "$found $2\n";
}
__END__
bi weekly