```bash
#!/bin/bash

# Check if a file argument is provided
if [ -z "$1" ]; then
    echo "Usage: $0 <file_with_urls>"
    exit 1
fi

URL_FILE="$1"

# Check if the file exists
if [ ! -f "$URL_FILE" ]; then
    echo "Error: File '$URL_FILE' not found."
    exit 1
fi

# Print table header
printf "%-50s | %-10s | %-5s\n" "URL" "Status" "Result"
printf "%-50s | %-10s | %-5s\n" "--------------------------------------------------" "----------" "-----"

# Read each URL from the file
while IFS= read -r url || [ -n "$url" ]; do
    # Skip empty lines
    if [ -z "$url" ]; then
        continue
    fi

    # Curl the URL and get the HTTP status code
    # -s: silent, -o /dev/null: discard body, -w: output format, --max-time: timeout
    status_code=$(curl -s -o /dev/null -w "%{http_code}" --max-time 10 "$url")

    # Determine PASS or FAIL
    if [[ "$status_code" =~ ^2[0-9][0-9]$ ]]; then
        result="PASS"
    else
        result="FAIL"
    fi

    # Print the row
    printf "%-50s | %-10s | %-5s\n" "$url" "$status_code" "$result"

done < "$URL_FILE"
```