Hello again and many thanks for the suggestions

I'm new to everything, and would appreciate some help in formatting text. given this (this is just a sample out of 100 lines) I should be using regex:

This is basically a bilingual dictionary entry, where under column X we should see the word in English, under Y in Portuguese, and under Z whether this is a noun, verb, etc. In bold type I'm showing the words that should only be added to the columns, disregard the rest. Not looking for someone to do my job, just some help on how to continue.

this is what I was trying:

@entry[0..2]= split /\d+/, $_;
print "$entry[0]\n";
$_=~/\[(n+)\]/;
print "$1\n";
@trans[0..2]= split /:(\s\s)/, $_;
print "$trans[0]\n";

ignoramus 16800 "behavior - man [n]: ignorante [m]; néscio [m]" "behavior - woman [n]: ignorante [f]; néscia [f]"


ignition 16795 general [n]: ignicion [f] internal-combustion engine [n]: ignicion2 [f]




----------

I should get this i.e. the lines above split into only three columns and only this info should be displayed..:

X Y Z

ignoramus ignorante n

ignoramus ignorante n

ignoramus nescio n

ignoramus nescia n

ignition ignicion n

ignition ignicion2 n

Many thanks for any suggestions. And as you can see, I am new in programming, I'm a linguist.