#!/usr/bin/perl -w use strict; my %get_prop_str = ( bobn => sub { local $_ = shift; my $level = shift || 0; if ($level == -1) { /([^()]+)\)+$/o; return $1 } while ($level-- > 0) { chop; s/^[^(]+\(//o; } return $_; }, Fatvamp => sub { my $propstr = shift; my $level = shift || return $propstr; my $cnt; if ($level == -1) { $propstr =~ /\(([^\(\)]+)\)+/; return $1; } else { for ($cnt = 0 ; $cnt < $level ; $cnt++) { $propstr =~ /\((.+)\)/; $propstr = $1; } return $propstr; } },