nam2ns.pl
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:1k
源码类别:

通讯编程

开发平台:

Visual C++

  1. #!/usr/bin/perl
  2. use NS::TraceFileEvent qw(&string_to_hashref &quote_if_needed);
  3. use NS::TraceFileWriter;
  4. $output = new NS::TraceFileWriter();
  5. my $lasttime = '*'; # keep track of most recent time value;
  6. while (<>) {
  7. my ($time, $data);
  8. my ($type, $rest) = split(' ', $_, 2);
  9. if ($type =~ m/^#/) {
  10. # comment line.. might not be parsable.
  11. # we will only try to extract the time, and
  12. # quote everything else.
  13. if ($rest =~ m/^()-ts+(S+)s*(.*)/ or
  14.     $rest =~ m/(.*?)-ts+(S+)s*(.*)/) {
  15. $lasttime = $time = $2;
  16. $rest = $1.$3;
  17. } else {
  18. # couldn't find any time, so use the last time seen
  19. $time = $lasttime;
  20. chomp $rest;
  21. }
  22. $data = {'#' => quote_if_needed($rest)};
  23. } else {
  24. # ***XXX*** need to add support for "v" lines
  25. # not a comment, so go ahead and parse it
  26. $data = string_to_hashref($rest);
  27. $lasttime = $time = $data->{'t'};
  28. delete $data->{'t'};
  29. }
  30. $output->put_event(new NS::TraceFileEvent ($type,$time,%$data));
  31. }