Awk help

Hi friends
Can any one help me in my script.
I have a file like below

uid: 1001010790901; phonenumber: 3169432296|abc abc
uid: 1001008050805; phonenumber: 3165244543|cde efg
uid: 1001008223203; phonenumber: 3163039533|cde efg
uid: 1001008622808; phonenumber: 3168319975|cde efg
uid: 1001068436401; phonenumber: 3162954791|cde efg phonenumber: 3163517469|cde efg

In each line we have uid and phone number and name in few lines we are having multiple phone numbers , I just want to write a script like if we have multiple phone numbers for one uid ,i want to write new line with the same uid like

uid: 1001010790901; phonenumber: 3169432296|abc abc
uid: 1001008050805; phonenumber: 3165244543|cde efg
uid: 1001008223203; phonenumber: 3163039533|cde efg
uid: 1001008622808; phonenumber: 3168319975|cde efg
uid: 1001068436401; phonenumber: 3162954791|cde efg
uid: 1001068436401;phonenumber: 3163517469|cde efg

Can any one help me in fixing my problem
Thanks
Sre

Where's your script? Post it and we'll see if we can direct you toward the right way to do this.

perl:

open FH,"<a.txt";
while(<FH>){
	@arr=split("phonenumber",$_);
	map {tr/\n//d} @arr;
	for ($i=1;$i<=$#arr;$i++){
		print $arr[0]," ",$arr[$i],"\n";
	}
}
close FH;

awk:

nawk '{
num=split($0,arr,/phonenumber/);
if (num==2)
	print $0
else
	for(i=2;i<=num;i++)
		print arr[1]"phonenumber"arr
}
' a.txt

awk -F"phonenumber:" '{ for(i=1;i<NF;i++){printf "%s phonenumber: %s\n",$1,$(i+1)} }' test.txt

awk -F"phonenumber:" '{ for(i=1;i<NF;i++){printf "%s phonenumber: %s\n",$1,$(i+1)} }' test.txt
uid: 1001010790901; phonenumber: 3169432296|abc abc
uid: 1001008050805; phonenumber: 3165244543|cde efg
uid: 1001008223203; phonenumber: 3163039533|cde efg
uid: 1001008622808; phonenumber: 3168319975|cde efg
uid: 1001068436401; phonenumber: 3162954791|cde efg
uid: 1001068436401; phonenumber: 3163517469|cde efg