sub VARhash {my $data=shift @_;return undef unless $data;my %env; $data=~s|=""|=" "|g; #while ($data=~s|[\t ](.{1,50}?)="(.{0,255}?[^\\])"||s){$env{$1}=$2;$env{$1}=~s|\\||g;} while ($data=~s|([\t ].{1,50}?)="(.{0,255}?[^\\])"||s) { my $var=$1; my $null=$2; $var=~s|[^a-zA-Z0-9_]||g; $env{$var}=$null;$env{$var}=~s|\\||g; } #while ($data=~s|[\t ](.{1,50}?)="(.[^\\]?)"||s){$env{$1}=$2;$env{$1}=~s|\\||g;} return %env} =cut

sub VARhash {my $data=shift @_;return undef unless $data;my %env; $data=~s|=""|=" "|g; $data=" ".$data; #while ($data=~s|[^a-zA-Z0-9]+(.*?)="(.*?[^\\])"||s){$env{$1}=$2;$env{$1}=~s|\\||g;} while ($data=~s|[^a-zA-Z0-9]+(.*?)="(.*?[^\\])"||s){$env{$1}=$2;$env{$1}=~s|\\||g;$env{$1}="" if $env{$1} eq " "}; return %env}

sub VARhash2 {my $data=shift @_;return undef unless $data;my %env; $data=~s|=""|=" "|g; while ($data=~s|[^a-zA-Z0-9]+(.*?)="(.*?[^\\])"||s) { $env{$1}=$2;$env{$1}=~s|\\||g; } return %env} =cut

#sub VARhash_long #{my $data=shift @_;return undef unless $data;my %env; #while ($data=~s|[\t ](.*?)="(.[^\\]?)"||s){$env{$1}=$2;$env{$1}=~s|\\||g;} #return %env}


sub _gVAR { my $data=shift @_;return undef unless $data;my %env; while ($data=~s|\n(.*?)<VAR id="(.*?)">(.*?)\n\1</VAR>||s) {$env{$2}=$3;} return %env; }


sub new { my $procc=shift; my $self={}; my %env=@_;

print "\n\n enter with $env{parse}\n\n";

 #$self->{bubu}="aaa";
# print "$env{parse}\n";
 $self->{value}=$env{parse};
 while ($env{parse}=~s|\n(.*?)<VAR id="(\w*?)">(.*?)\n\1</VAR>||s)
 {
  print "parse !$2! !$3!\n";
  $self->{$2}=Tomahawk::CML->new(parse=>$3);
  #$env{$2}=$3;
 }

if ($env{parse}=~s|<VAR(.*?)/>||)
{
 print "varparse !$1!\n";
}
else
{
 print "value=$env{parse}\n";
 $self->{value}=$env{parse};
}

 bless $self;
 return $self;
}





sub list { my $self=shift;

}






sub ghash { my $data=shift @_;return undef unless $data;my %env; $level++;

print "[$level] entering\n";

while ($data=~s|\n(.*?)<VAR id="(\w*?)">(.*?)\n\1</VAR>||s)
{
 my $var=$2;
 my $value=$3;
 print "[$level] parse ->!$var!\n";
 my $newval=&amp;ghash($value);
 #$env{$var}=&amp;ghash($value);
 $level--;
 print "[$level] <-$newval\n";

  #$self->{$2}=Tomahawk::CML->new(parse=>$3);
  #my %env0=ghash($3);
  #foreach(keys %env0)
  #{
   #print "plus $2 $_ $env0{$_}\n";
   #$env{$2}{$_}=$env0{$_};
  #}
 }
 if ($data=~s|sl;adfjkal;sdkfj||)
 {
 }
 else
 {
  print "[$level] mam $data\n";
  $env{value}=$data;
  #return $data;
  #return $data;
 }
 #$env{value}=$data;
# %env=_gVAR($data); # vytrham velke VARY;

# foreach (keys %env) # { # }

foreach (keys %env)
{
 print "[$level] + $_\n";
}

 return %env;
}





























1;


If published informations are not helpfull, something is missing or wrong, please report. Thanx for contribution.
This content is generated from file 'http://svn.cyclone3.org/trunk/frame/.core/.libs/CML.pm'

AddThis Social Bookmark Button RSS

User Comments