<html>
<head>
<title>hello_get ... Thanks to https://www.tutorialspoint.com/perl/perl_cgi.htm and https://perlmaven.com/most-popular-perl-modules and https://www.freecodecamp.org/news/how-to-format-dates-in-javascript/ and https://metacpan.org/pod/DBI and https://metacpan.org/pod/Data::Dumper and https://perlmaven.com/perl-split#:~:text=PHP%20has%20the%20explode%20function,the%20function%20is%20called%20split.</title>
<script type='text/javascript'>
var xcsv='';
var tcsv='';
var dri=["127462","127463","127464","127465","127466","127467","127468","127469","127470","127471","127472","127473","127474","127475","127476","127477","127478","127479","127480","127481","127482","127483","127484","127485","127486","127487"];
var lri="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
function andlater(osel) {
xcsv='';
tcsv='';
for (var i=0; i<osel.length; i++) { if (osel.options[i].selected) { if (xcsv.length == 0) { if (osel.options[i].innerText.indexOf('(') != -1) { if (tcsv == '') { tcsv+='' + minuses(osel.options[i].innerText.split('(')[1].split(')')[0]); } else { tcsv+=',' + minuses(osel.options[i].innerText.split('(')[1].split(')')[0]); } } xcsv+='' + osel.options[i].value.split('?p=')[1].split('&')[0]; } else { if (osel.options[i].innerText.indexOf('(') != -1) { if (tcsv == '') { tcsv+='' + minuses(osel.options[i].innerText.split('(')[1].split(')')[0]); } else { tcsv+=',' + minuses(osel.options[i].innerText.split('(')[1].split(')')[0]); } } xcsv+=',' + osel.options[i].value.split('?p=')[1].split('&')[0]; } } }
setTimeout(alater, 2000);
return sio;
}
function minuses(inidea) {
if (eval('' + inidea.length) == 8) {
return inidea.substring(0,4) + '-' + inidea.substring(4).substring(0,2) + '-' + inidea.slice(-2);
}
return inidea;
}
function alater() {
document.getElementById('blogp').value=xcsv;
document.getElementById('blogt').value=tcsv;
}
function checkw(iois) {
if (iois != null) {
var aconto = (iois.contentWindow || iois.contentDocument);
if (aconto != null) {
if (aconto.document) { aconto = aconto.document; }
if (aconto.getElementById('tuts') != null) {
document.getElementById('dopt').innerHTML='Blog Posting(s): ' + aconto.getElementById('tuts').outerHTML.replace(' onchange=', ' multiple onchange="document.getElementById(' + "'" + 'blogp' + "'" + ').value=andlater(this).value.split(' + "'" + '?p=' + "'" + ')[1].split(' + "'" + '&' + "'" + ')[0];" data-onchange=') + '<br><br>';
}
}
}
}
function doems() {
document.getElementById('inurl').placeholder=document.URL.split('?')[0].split('#')[0];
document.getElementById('emoji').value=String.fromCodePoint(128279);
document.getElementById('cutei').value=String.fromCodePoint(127939);
document.getElementById('imgei').value=String.fromCodePoint(128444);
if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i)) {
document.getElementById('myform').method='GET';
}
orccflags();
}
function hashit(inl) {
var invl=inl.value, lcode='';
if (invl.trim() != '') {
if (inl.outerHTML.indexOf(' value="' + invl + '">' + invl + ';') != -1) {
lcode=inl.outerHTML.split(' value="' + invl + '">' + invl + ';')[1].split('_')[0];
} else {
alert('oops');
}
document.getElementById('doptsel').innerHTML='<input type=hidden name=voice value=" -v ' + invl + ' "></input><input type=hidden name=lang value="' + lcode + '"></input>';
document.getElementById('myform').action=document.getElementById('myform').action.split('#')[0] + '#' + '%20%2Dv%20' + encodeURIComponent(invl) + '%20';
} else {
document.getElementById('doptsel').innerHTML='';
document.getElementById('myform').action=document.getElementById('myform').action.split('#')[0];
}
}
function orccflags() {
var ccsuff='', ccchar=' ', cde='', sfcp='', thec='', iccsuff=0, thiscc='';
var osel=document.getElementById('optsel');
var wasih=document.getElementById('optsel').innerHTML;
var isih=wasih;
for (var i=0; i<osel.length; i++) {
if (eval('' + (osel.options[i].innerText + '_').split('_')[1].length) == 2) {
thiscc=(osel.options[i].innerText + '_').split('_')[1].toUpperCase();
ccsuff='';
ccchar=' ';
cde='';
sfcp='';
thec='';
for (iccsuff=0; iccsuff<thiscc.length; iccsuff++) {
ccchar=thiscc.substring(iccsuff, eval(1 + eval('' + iccsuff))).toUpperCase();
thec+=ccchar;
sfcp+=String.fromCodePoint(eval('' + dri[eval('' + lri.indexOf(ccchar))]));
ccsuff+=cde + ('' + dri[eval('' + lri.indexOf(ccchar))]); //'&#' + dri[eval('' + lri.indexOf(ccchar))] + ';';
cde='.';
}
isih=isih.replace('>' + osel.options[i].innerText + '<', '>' + osel.options[i].innerText + ' ' + sfcp + '<');
}
}
osel.innerHTML=osel.innerHTML.replace(wasih, isih);
}
</script>
</head>
<body onload=doems();>
<h1>hello_get.html HTML calls on hello_get.cgi Perl</h1>
<h3>RJM Programming - February, 2023</h3>
<h3>Thanks to <a target=_blank title='https://www.tutorialspoint.com/perl/perl_cgi.htm' href='https://www.tutorialspoint.com/perl/perl_cgi.htm'>https://www.tutorialspoint.com/perl/perl_cgi.htm</a> and <a target=_blank title='https://perlmaven.com/most-popular-perl-modules' href='https://perlmaven.com/most-popular-perl-modules'>https://perlmaven.com/most-popular-perl-modules</a> and <a target=_blank title='https://www.freecodecamp.org/news/how-to-format-dates-in-javascript/' href='https://www.freecodecamp.org/news/how-to-format-dates-in-javascript/'>https://www.freecodecamp.org/news/how-to-format-dates-in-javascript/</a> and <a target=_blank title='https://metacpan.org/pod/DBI' href='https://metacpan.org/pod/DBI'>https://metacpan.org/pod/DBI</a> and <a target=_blank title='Perl Data::Dumper module information' href='https://metacpan.org/pod/Data::Dumper' title='https://metacpan.org/pod/Data::Dumper'>https://metacpan.org/pod/Data::Dumper</a> and <a target=_blank title='https://perlmaven.com/perl-split#:~:text=PHP%20has%20the%20explode%20function,the%20function%20is%20called%20split.' href='https://perlmaven.com/perl-split#:~:text=PHP%20has%20the%20explode%20function,the%20function%20is%20called%20split.'>https://perlmaven.com/perl-split#:~:text=PHP%20has%20the%20explode%20function,the%20function%20is%20called%20split.</a></h3>
<br><br>
<FORM id=myform action = "/cgi-bin/hello_get.cgi" method = "POST">
First Name: <input type = "text" name = "first_name"> <br>
Last Name: <input type = "text" name = "last_name"> <br>
Optional URL to Show: <input ondblclick="if (this,value.length == 0) { this.value=this.placeholder; }" type = "url" style = "width:30%;" id = "inurl" name = "inurl" placeholder="" value="">
<div id=dopt></div>
<input type=hidden name=blogp value='' id="blogp"></input>
<input type=hidden name=blogt value='' id="blogt"></input>
<input type=hidden data-name=emoji value='' id="emoji"></input>
<input type=hidden data-name=cutei value='' id="cutei"></input>
<input type=hidden data-name=imgei value='' id="imgei"></input>
<div id='doptsel'></div>
<select id=optsel onchange=hashit(this);><option value=''>Optional audio voice and/or translate language ...</option>
<option value='Alex'>Alex;en_US</option>
<option value='Alice'>Alice;it_IT</option>
<option value='Alva'>Alva;sv_SE</option>
<option value='Amelie'>Amelie;fr_CA</option>
<option value='Anna'>Anna;de_DE</option>
<option value='Carmit'>Carmit;he_IL</option>
<option value='Damayanti'>Damayanti;id_ID</option>
<option value='Daniel'>Daniel;en_GB</option>
<option value='Diego'>Diego;es_AR</option>
<option value='Ellen'>Ellen;nl_BE</option>
<option value='Fiona'>Fiona;en_scotland</option>
<option value='Fred'>Fred;en_US</option>
<option value='Ioana'>Ioana;ro_RO</option>
<option value='Joana'>Joana;pt_PT</option>
<option value='Jorge'>Jorge;es_ES</option>
<option value='Juan'>Juan;es_MX</option>
<option value='Kanya'>Kanya;th_TH</option>
<option value='Karen'>Karen;en_AU</option>
<option value='Kyoko'>Kyoko;ja_JP</option>
<option value='Laura'>Laura;sk_SK</option>
<option value='Lekha'>Lekha;hi_IN</option>
<option value='Luca'>Luca;it_IT</option>
<option value='Luciana'>Luciana;pt_BR</option>
<option value='Maged'>Maged;ar_SA</option>
<option value='Mariska'>Mariska;hu_HU</option>
<option value='Mei-Jia'>Mei-Jia;zh_TW</option>
<option value='Melina'>Melina;el_GR</option>
<option value='Milena'>Milena;ru_RU</option>
<option value='Moira'>Moira;en_IE</option>
<option value='Monica'>Monica;es_ES</option>
<option value='Nora'>Nora;nb_NO</option>
<option value='Paulina'>Paulina;es_MX</option>
<option value='Samantha'>Samantha;en_US</option>
<option value='Sara'>Sara;da_DK</option>
<option value='Satu'>Satu;fi_FI</option>
<option value='Sin-ji'>Sin-ji;zh_HK</option>
<option value='Tessa'>Tessa;en_ZA</option>
<option value='Thomas'>Thomas;fr_FR</option>
<option value='Ting-Ting'>Ting-Ting;zh_CN</option>
<option value='Veena'>Veena;en_IN</option>
<option value='Victoria'>Victoria;en_US</option>
<option value='Xander'>Xander;nl_NL</option>
<option value='Yelda'>Yelda;tr_TR</option>
<option value='Yuna'>Yuna;ko_KR</option>
<option value='Yuri'>Yuri;ru_RU</option>
<option value='Zosia'>Zosia;pl_PL</option>
<option value='Zuzana'>Zuzana;cs_CZ</option>
</select>
<input type = "submit" value = "Submit">
</FORM>
<iframe src='//www.rjmprogramming.com.au/Welcome.html' onload='checkw(this);' style='display:none;'></iframe>
</body>
</html>