The Biblical argument for the perpetual virginity of Mary are quite solid, they just require a more-than-surface level reading of the text, and a little Scripture knowledge, to make sense of.
"I Know Not Man"
First, we have the fact that Mary herself says "I know not man" (Luke 1:34) when Gabriel tells her she will "concieve and bear a son." This might not seem like a powerful argument (or even an argument at all) unless we understand what Mary is saying.
"To know" is a Hebrew euphemism meaning "to have sexual relations." E.g., "Adam knew Eve his wife, and she conceived and bore a son" (Genesis 4:1). "A young girl with a very comely appearance — a virgin whom no man had known." (Genesis 24:16). So Mary is literally saying, by use of a euphemism, "How shall I conceive, given the fact that I do not have sexual relations?"
This is significant because she was already betrothed to Joseph (Luke 1:27). If she had intended to have children with Joseph according to the ordinary manner, she wouldn't have brought up her not knowing man as an obstacle to conception, because it wouldn't exist, and she would already know the means of conception, and it would precisely be by 'knowing man.' This is why the translation, "I am a virgin" is misleading, and, frankly, wrong: a married woman who intends to have children with her spouse doesn't ask how she will have children if she is a virgin.
This alone is proof, considering that 'I can't have a baby, since I don't have sex, so how is this going to work' is pretty explicit, but there is another subtle clue in another Scripture.
The "Humiliation" of the Maidservant of God
Another more subtle proof is something Mary says in her Magnificat:
Luke 1:46-55...My soul doth magnify the Lord.
47 And my spirit hath rejoiced in God my Saviour.
48 For he hath looked upon the affliction of his handmaid;
for behold from henceforth all generations shall call me blessed.
49 Because he that is mighty, hath done great things to me;
and holy is his name.
50 And his mercy is from generation unto generations,
to them that fear him.
51 He hath shewed might in his arm:
he hath scattered the proud in the conceit of their heart.
52 He hath put down the mighty from their seat,
and hath exalted the humble.
53 He hath filled the hungry with good things;
and the rich he hath sent empty away.
54 He hath received Israel his servant,
being mindful of his mercy:
55 As he spoke to our fathers,
to Abraham and to his seed for ever.
(To those reading the Douay-Rheims, they will see "humility." However, the original word, including the Latin of which it is a translation, means "humiliation" or "shame" or "afflication" or "debasement" depending on context.)
This comes from Semitic culture, where inability to conceive children was viewed as a veritable curse from God (the opposite, that is, to the blessing of being given children), and thus termed it their "affliction" or "humiliation" when they were barren and could not have children.
Genesis 29:32 And the Lord seeing that [Jacob] hated Leah, opened her womb, but her sister remained barren. And she conceived and bore a son, and called his name Reuben, saying: The Lord hath looked upon my affliction: now my husband will love me.
1 Samuel 1:8-11 And Elkanah her husband said to Hannah: Why dost thou weep? And why dost thou not eat? And why is thy heart sorrowful? Am I not better in thy eyes than ten sons? . . . And she made a vow, saying: Lord of hosts, If thou wilt look indeed upon the humiliation of your handmaid, and remember me, and forget not thy handmaid, but give thy handmaid offspring, I will dedicate him to the Lord for all the days of his life, and a razor shall never touch his head.1 . . . And Eli [the priest] answered, Go in peace, may the God of Israel give thee thee what it is thou hast asked of him. And she [Hannah] said: May thy handmaid find favor in thy eyes.
Cf. Genesis 41:52
This is Mary saying, "The Lord gave me children in spite of my not being able to have children naturally!" Not only does this explain why Mary mentions the Lord taking away the otherwise utterly unexplained "humilation of" Mary, which would thus be explained, but also explains several other things. First, when Gabriel says, "Fear not Mary, for thou hast found favor with God," this in context, might mean, "God has heard your prayers for children despite being a virgin for life," and explains the greeting of Gabriel: "Hail, Κεχαριτωμενη." Κεχαριτομενη is the Greek translation of the name Hannah. A probably theory might be that Luke, who makes many allusions to the Old Testament apparently deliberately, especially the books of Samuel, might be reducing the Semitic original behind "kecharitomene" to "graced" in order to direct us to this allusion deliberately (since "kecharitomene" cannot have a direct Semitic equivalent, but must be multiple words in the original Hebrew or Aramaic).
Taken as a package, this is all an allusion to this barrenness-humilitation being taken away by God who looks on this afflication and the subject finding grace in his eyes. The humiliation in question being unable to conceive children due to natural inability - or in Mary's case, a vow of virginity of some kind, or as tradition has it, herself being dedicated to the Temple and thus sacred.
Moreover, they both break into prayer in a similar fashion:
1 Samuel 2:1-10
My heart hath rejoiced in the Lord, and my horn is exalted in my God: my mouth is enlarged over my enemies: because I have joyed in thy salvation. 2 There is none holy as the Lord is: for there is no other beside thee, and there is none strong like our God. 3 Do not multiply to speak lofty things, boasting: let old matters depart from your mouth: for the Lord is a God of all knowledge, and to him are thoughts prepared. 4 The bow of the mighty is overcome, and the weak are girt with strength. 5 They that were full before have hired out themselves for bread: and the hungry are filled, so that the barren hath borne many: and she that had many children is weakened. 6 The Lord killeth and maketh alive, he bringeth down to hell and bringeth back again. 7 The Lord maketh poor and maketh rich, he humbleth and he exalteth. 8 He raiseth up the needy from the dust, and lifteth up the poor from the dunghill: that he may sit with princes, and hold the throne of glory. For the poles of the earth are the Lord's, and upon them he hath set the world. 9 He will keep the feet of his saints, and the wicked shall be silent in darkness, because no man shall prevail by his own strength. 10 The adversaries of the Lord shall fear him: and upon them shall he thunder in the heavens. The Lord shall judge the ends of the earth, and he shall give empire to his king, and shall exalt the horn of his Christ.
Luke 1:46-55
My soul doth magnify the Lord.
47 And my spirit hath rejoiced in God my Saviour.
48 Because he hath looked upon the humiliation of his handmaid;
for behold from henceforth all generations shall call me blessed.
49 Because he that is mighty, hath done great things for me;
and holy is his name.
50 And his mercy is from generation unto generations,
to them that fear him.
51 He hath shewed might in his arm:
he hath scattered the proud in the conceit of their heart.
52 He hath put down the mighty from their seat,
and hath exalted the humble.
53 He hath filled the hungry with good things;
and the rich he hath sent empty away.
54 He hath received Israel his servant,
being mindful of his mercy:
55 As he spoke to our fathers,
to Abraham and to his seed for ever.
The Brothers of Jesus
The argument that Jesus had brothers, and that thus these are sons of Mary, takes a back seat to the Luke 1:34 evidence, since it is more explicitly about Mary's sexual activity or lack thereof, whereas "Jesus' brothers" could mean more than one thing in Semitic usage, as several Scriptures and other Hebrew and Aramaic texts show. It could be that these are sons of Joseph by a prior marriage, or simply relatives of Jesus.
That is, if these show Mary intended not to have children with Joseph, then the brothers of Jesus must refer to the relatives of Jesus, and thus cannot be used as explicit evidence: "I don't have sex" is more explicit than "the brothers of Jesus." It would be backward to consider the evidence the other way around, considering first verses less explicitly about Mary, and her virginity, and instead about Jesus' brothers which, in contrast, are ambiguous.
Footnotes
1 The Nazarite vow — the equivalent of monks in the Old Testament period.