I'm miss understanding something basic about the numbered values like
$1 $2 in a s/// operation.

In this script... I don't understand why $line has the value it does
when the $2 paren enclosed regex does not match anything.

  #!/usr/local/bin/perl
  
  use strict;
  use warnings;
  
  my $line;
  my $data = 
'KVM","id":815,"parent":797,"dateAdded":1212954973000000,"lastModified":1245888615000000,"type":"text/x-moz-place-container","children"';
      ($line   = $data) =~ s/(^.*?)(\"uri\".*?)(\"\}|\",\")(.*$)/$2/;
  print "$line" ."\n";

output (wrapped for mail:
  KVM","id":815,"parent":797,"dateAdded":1212954973000000,"lastModified"\
  :1245888615000000,"type":"text/x-moz-place-container","children"

The regex (\"uri\".*?)  Doesn't match at all so I would expect the $2
to return ''.   But instead it appears to return the whole line.


-- 
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to