Ed wrote: > How would I get the various elements out of a string of known format. > A previous post about a similar topic approaches a solution but I need > help with the regular expression to pass to the m function. > > Here's an example of a string: > net user cknotts somepassword /add /active:yes /expires:never > /comment:"Some Comment" /fullname:"Cindy Knottsagain" > > The code would look something like this, except the regex in the m{} > function needs work: > > while (my $line = <F>) > { > if( my( $UserName, $passwd, $Comment, $FullName ) = ( $line =~ > m{^\s*net\+user\s+(\S+)\s+(\S+)\s*} ) ) > { > print $UserName, $passwd, $Comment, $FullName; > } > > }
Something like this (UNTESTED): while ( my $line = <F> ) { if ( $line =~ /^\s*net\s+user\s+(\S+)\s+(\S+)/ ) { my ( $UserName, $passwd ) = ( $1, $2 ); my $Comment = $line =~ m!/comment:"([^"]+)!; my $FullName = $line =~ m!/fullname:"([^"]+)!; print $UserName, $passwd, $Comment, $FullName; } } John -- use Perl; program fulfillment -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>