in reply to splitting a decimal number..

Hi,
It all depend on what you exactky want. e.g:
#!/usr/bin/perl -t -w use strict; sub dosplitMe () { my ($x,$justSplitMe) = @_; if ($justSplitMe) { my ($y, $z) = split(/\./, $x); return ($y, $z); } else { # there might be stuff before first integer... my ($y,$z); if ($x =~ m/(\D+)?(\d+)\.(\d+)/) { ($y, $z) = ($1.$2 , $1.$3); } return ($y, $z); } } my $num1 = 123.456; my $num2 = -123.456; my $num3 = "abc123.123"; my @a; @a = &dosplitMe($num1,1); print ("1: $a[0] - $a[1] \n"); @a = &dosplitMe($num2,1); print ("2: $a[0] - $a[1] \n"); @a = &dosplitMe($num2,0); print ("3: $a[0] - $a[1] \n"); @a = &dosplitMe($num3,1); print ("4: $a[0] - $a[1] \n"); @a = &dosplitMe($num3,0); print ("5: $a[0] - $a[1] \n");

*** update: *** Or even better:
#!/usr/bin/perl -t -w use strict; sub dosplitMe () { my ($x,$separator,$justSplitMe) = @_; if ($justSplitMe) { if ($x =~ m /(.*)?$separator(.*)/) { return ($1,$2); } } else { # there might be stuff before first integer... if ($x =~ m/(\D+)?(\d+)$separator(\d+)/) { return ($1.$2 , $1.$3); } } } my $num1 = 123.456; my $num2 = -123.456; my $num3 = "abc123,123"; my @a; @a = &dosplitMe($num1,'\.',1); print ("1: $a[0] - $a[1] \n"); @a = &dosplitMe($num2,'\.',1); print ("2: $a[0] - $a[1] \n"); @a = &dosplitMe($num2,'\.',0); print ("3: $a[0] - $a[1] \n"); @a = &dosplitMe($num3,',', 1); print ("4: $a[0] - $a[1] \n"); @a = &dosplitMe($num3,',', 0); print ("5: $a[0] - $a[1] \n");