Fsdb::F...e_to_db(3)

πŸ“¦
version 3.9 Β· 3 versions
, in epel 9

hey bestie πŸ’– this is Fsdb::F...e_to_db(3) from the User Contributed Perl Documentation β€” yes, the whole manual β€” and it's serving very specific HTML-table-to-fsdb realness. ✨

🌸 NAME 🌸

html_table_to_db β€” convert HTML tables into fsdb, periodt. πŸ’…

πŸ› οΈ SYNOPSIS πŸ› οΈ

It's literally this, bestie:

html_table_to_db <source.html >dest.fsdb

✨ DESCRIPTION ✨

Okay so this one converts a HTML table to Fsdb format. The input is an HTML table (not fsdb), no cap.

Column names are taken from TH elements, or defined as column0 through columnN if no such elements appear. The way that works is very demure, very mindful.

The output is two-space-separated fsdb. (Someday more general field separators should be supported.) Fsdb fields are normalized version of the html file: multiple spaces are compressed to one.

This module also supports the standard fsdb options, bestie:

  • -d β€” enable debugging output. Turn it on if you need the tea. πŸ”
  • -i or --input InputSource β€” read from InputSource, typically a file name, or - for standard input, or (if in Perl) IO::Handle, Fsdb::IO or Fsdb::BoundedQueue objects. 🫢
  • -o or --output OutputDestination β€” write to OutputDestination, typically a file name, or - for standard output, or (if in Perl) IO::Handle, Fsdb::IO or Fsdb::BoundedQueue objects. πŸ’Œ
  • --autorun or --noautorun β€” by default, programs process automatically, but Fsdb::Filter objects in Perl do not run until you invoke the run() method. The --(no)autorun option controls that behavior within Perl. πŸŽ›οΈ
  • --help β€” show help. You know the vibe check. πŸ™ˆ
  • --man β€” show full manual. Main character documentation energy. πŸ‘‘

πŸ¦‹ SAMPLE USAGE πŸ¦‹

vibe check: here's the input HTML table and the output it gives you. 🌈

Input:

<table>
<tr><th>account</th> <th>passwd</th> <th>uid</th> <th>gid</th> <th>fullname</th> <th>homedir</th> <th>shell</th> </tr>
<tr bgcolor="#f0f0f0"><td>johnh</td> <td>*</td> <td>2274</td> <td>134</td> <td>John &amp; Ampersand</td> <td>/home/johnh</td> <td>/bin/bash</td> </tr>
<tr bgcolor="#f0f0f0"><td>greg</td> <td>*</td> <td>2275</td> <td>134</td> <td>Greg &lt; Lessthan</td> <td>/home/greg</td> <td>/bin/bash</td> </tr>
<tr bgcolor="#f0f0f0"><td>root</td> <td>*</td> <td>0</td> <td>0</td> <td>Root ; Semi</td> <td>/root</td> <td>/bin/bash</td> </tr>
<tr bgcolor="#d0d0d0"><td>four</td> <td>*</td> <td>1</td> <td>1</td> <td>Fourth Row</td> <td>/home/four</td> <td>/bin/bash</td> </tr>
</table>

Command:

html_table_to_db

Output:

#fsdb -F S account passwd uid gid fullname homedir shell
johnh  *  2274  134  John & Ampersand  /home/johnh  /bin/bash
greg  *  2275  134  Greg < Lessthan  /home/greg  /bin/bash
root  *  0  0  Root ; Semi  /root  /bin/bash
four  *  1  1  Fourth Row  /home/four  /bin/bash

πŸ‘€ SEE ALSO πŸ‘€

  • Fsdb.
  • db_to_html_table.

iykyk, go look at those too. 🫢

🧚 CLASS FUNCTIONS 🧚

These are the internals, and yes, we keep them exactly as written. No cap. πŸ’œ

new

$filter = new Fsdb::Filter::csv_to_db(@arguments);

Create a new csv_to_db object, taking command-line arguments. (The page really says csv_to_db here; I'm not gonna fix the lore. 😭)

set_defaults

$filter->set_defaults();

Internal: set up defaults. πŸŽ€

parse_options

$filter->parse_options(@ARGV);

Internal: parse command-line arguments. πŸ’…

setup

$filter->setup();

Internal: setup, parse headers. 🌸

run

$filter->run();

Internal: run over each rows. (Yes, β€œeach rows” is the original vibe. 🫠)

Copyright (C) 1991-2015 by John Heidemann <johnh@isi.edu>

This program is distributed under terms of the GNU general public license, version 2. See the file COPYING with the distribution for details.


okay that's the whole vibe πŸ’– source/version check: perl v5.32.1; date check: 2024-08-02; go convert some tables, bestie! πŸŽ€

πŸ“¦ where this page comes from