Ah, that is a horse of a different colour. We need to define the types of numbers you might have and how lenient you are willing to get...for instance, can you have data such as
1.3e2 1-3 (number or not?) The solution depends on your input data set. ----- Original Message ----- From: "Angus Laycock" <[EMAIL PROTECTED]> To: "Tanton Gibbs" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Sent: Tuesday, February 26, 2002 1:41 PM Subject: Re: Creating a string with quotes and delimiters from an Array > What about on negative numbers like -1? They come up with quotes, any ideas? > > Thanks > > Gus > ----- Original Message ----- > From: Tanton Gibbs <[EMAIL PROTECTED]> > To: Angus Laycock <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> > Sent: Wednesday, February 27, 2002 10:53 PM > Subject: Re: Creating a string with quotes and delimiters from an Array > > > > 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] > -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]