I apologize for not stating it earlier...mea culpa (and if I didn't have the time, I shouldn't post to the beginners list anyway!)
the ? : operator is like an if else statement if actually expands to (sort of) if( /\D/ ) { $string .= "'$_',"; } else { $string .= "$_,"; } The regular expression /\D/ matches anything that is not a digit. Since we do not provide a variable for it to operate on, it chooses the default variable $_ which is set by the preceeding foreach loop. The .= is the string concatenation operator with assignment...it actually expands to $string = $string . "'$_',"; Hope this helps! Tanton ----- Original Message ----- From: "Angus Laycock" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, February 26, 2002 1:33 PM Subject: Re: Creating a string with quotes and delimiters from an Array > I know I now have the result but how does it do it? > > $string .= /\D/ ? "'$_'," : "$_,"; > > If you have the time. > > Thanks again > > Gus > > > ----- Original Message ----- > From: Tanton Gibbs <[EMAIL PROTECTED]> > To: Angus Laycock <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> > Sent: Wednesday, February 27, 2002 10:30 PM > Subject: Re: Creating a string with quotes and delimiters from an Array > > > > Your best bet is to do this with a foreach loop > > > > my $string = ''; > > my @array = qw( alf bert charlie 4 ) > > foreach( @array ) { > > $string .= /\D/ ? "'$_'," : "$_,"; > > } > > ----- Original Message ----- > > From: "Angus Laycock" <[EMAIL PROTECTED]> > > To: <[EMAIL PROTECTED]> > > Sent: Tuesday, February 26, 2002 1:07 PM > > Subject: Creating a string with quotes and delimiters from an Array > > > > > > Hi, > > > > I have an array ----> @array = qw(alf bert charlie 4) > > > > and I want a string that contains this value < 'alf','bert','charlie','4' > > > > with the single quotes and commas. > > > > I know I can do this $string = join ( ',' , @array); which gives me > > this ----> < one|two|three|four> but how do I get the single quotes around > > each word. > > > > > > Also, how can I check if one of the values is numeric so I dont put quotes > > around it? So the result is like this ---> < 'alf','bert','charlie',4 > > > > > Thanks > > > > > > Gus > > > > > > > > -- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > -- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]