Question: I have an ASCII-art box and I need a program to open it.

Examples
--------

Input:

```
-------
|     |
|_____|

```

Output:

```
      /
     /
    /
   /
  /
 /
/
|     |
|_____|

```

Specification
=============

* The first line will only consist of `-`, at least 3 of them
* The middle rows will start with `|` have spaces, and end with `|`
	+ All the middle rows will be the same
* The last row will start with `|` have `_` and end with a `|`
* All rows will be the same length

Opening the box:

* Each `-` should be replaced by a `/` in ascending lines and position.

Answer: 
Pyth, ~~16~~ 14 bytes
=====================

```
j+_m+*;d\/Uz.z

```

Explanation

```
   m      Uz   - [V for d in range(len(input()))]
    +*;d\/     - " "*d + "/"
  _            - ^[::-1]
j+          .z - "\n".join(^+rest_of_input())

```

Thanks [@FryAmTheEggman](https://codegolf.stackexchange.com/users/31625/fryamtheeggman) for new algorithm!

[Try it here.](http://pyth.herokuapp.com/?code=j%2B_m%2B*%3Bd%5C%2FUz.z&input=-------%0A|+++++|%0A|_____|&debug=0)
JavaScript ES6, 106 bytes
=========================

```
q=>(q=q.split`
`,n=q[0].length,eval('for(i=0,r="";i<n;i++)r+=" ".repeat(n-i-1)+"/\\n"'),r+q.slice(1).join`
`)

```

Simple enough: getting the length of the first line, creating a spaced-triangle with trailing `/`, and adding that to the original, sliced and joined.

Test it out! (ES6 only `:(`)
----------------------------

```js
F=q=>(q=q.split`
`,n=q[0].length,eval('for(i=0,r="";i<n;i++)r+=" ".repeat(n-i-1)+"/\\n"'),r+q.slice(1).join`
`)
function n(){q.innerHTML=F(o.value)}
o.onkeydown=o.onkeyup=o.onchange=o.onkeypress=n;
n();
```

```css
*{font-family:Consolas,monospace;}textarea{width:100%;height:50%;}#q{white-space:pre;}
```

```html
<textarea id=o>----
|  |
|__|</textarea><div id=q>
```