msw@polyslo.Sun.COM (Michael Walker) (08/17/90)
I have been trying to get the sort() routine to work
for a subset of a string and have not had much
luck.
In the following program I would like the list
sorted on the last name of the field, the lines
are delimited by ':'.
What am I doing wrong here?
polyslo 67:cat t
#!/files/bin/perl
@list = ("jim:wilson","bob:smith","steve:blanding",
"carol:walker","mary:stevens");
@sorted = sort inorder @list;
for( $i = 0;
$i < 5;
$i = $i + 1)
{
print("$i: @sorted[$i]\n");
}
sub by_last_name
{
local($la,$lb,$burn);
($burn,$la) = split(/:/,$a);
($burn,$lb) = split(/:/,$b);
if ($la lt $lb)
{
return -1;
}
elsif ($la gt $lb)
{
return 1;
}
return 0;
}
polyslo 68:t
0: bob:smith
1: carol:walker
2: jim:wilson
3: mary:stevens
4: steve:blanding
polyslo 69:
ps. I am running perl3.0.1.5 Patch Level 18 on a Sun4/330 with
SunOS 4.1.
Thanx,
Mike Walker
//-n-\\
_____---=======---_____ - msw@Corp.Sun.Com-
====____\ /.. ..\ /____==== (415) 336-5264
// ---\__O__/--- \\ Enterprise... Surrender or we'll
\_\ /_/ send back your *&^$% tribbles !!msw@polyslo.Sun.COM (Michael Walker) (08/17/90)
Please ignore my previos posting - it was a bone head error-:) Live & Learn, _Mike_