You should be more specific when you say "this doesn't seem to work". Please show your expected output and your actual output, if any. If you are trying to capture the parentheses, then you just need to move your backslashes a little bit:
use strict;
use warnings;
use Data::Dumper;
my $var = "(this is a good idea!), No it's not";
if ( $var =~ /^(\(.*\)),(.*)$/ ) {
my @args = ($1, $2);
print Dumper(\@args);
}
__END__
$VAR1 = [
'(this is a good idea!)',
' No it\'s not'
];
Also, it would be easier to read your post if you did not use "pre" tags.