There are several ways to do this.
One possible solution is to use display: inline-block;
and float the last li right. I have also adjusted padding and margins:
.menu {
color:#FFF;
width:100%;
background-color:#000;
}
.menu > ul {
display: inline-block;
width:100%;
padding:5px 0;
margin:0;
}
.menu > ul > li {
list-style:inside none;
float:left;
border-right:1px solid #FFF;
padding: 0 5px;
}
.menu > ul > li:last-child{
float:right;
overflow:hidden;
border-right:none;
}