List of 989 perl files as at 2014/07/21, generated by perl-list.pl

abs_path.pl 2007/04/01 17:00:36 184
use Cwd 'abs_path'; 

ac3d2threejs-ok.pl 2013/05/12 18:43:25 40,856
use strict; Data::Dumper; Carp; File::Copy; 
sub prt prtw vec3 basename filename parse_line parse_header parse_roc parse_value parse_name parse_texrep parse_texoff parse_surf parse_data parse_mat parse_loc parse_numvert parse_refs parse_surface parse_numsurf parse_kids parse_object parse_material parse write_material_NOT_USED unweld_object_NOT_USED weld_object_NOT_USED get_min_max_count_index write_object_NOT_USED write_geo_NOT_USED write_scene_NOT_USED write_js2 write_material2 write_object2 write_threejs uv_sub find_same_vertices make_indices_map calc_vertex_normals round main 

ac3d2threejs.pl 2013/05/13 16:54:25 30,062
use strict; Data::Dumper; Carp; File::Copy; 
sub VERB1 VERB2 VERB5 VERB9 prt prtw vec3 basename filename parse_line parse_header parse_roc parse_value parse_name parse_texrep parse_texoff parse_surf parse_data parse_mat parse_loc parse_numvert parse_refs parse_surface parse_numsurf parse_kids parse_object parse_material parse get_min_max_count_index write_js2 write_object2 write_object uv_sub find_same_vertices make_indices_map calc_vertex_normals calc_vertex_normals_OLD round main give_help need_arg get_bool parse_command 

ac3dfile-ok.pl 2013/05/16 15:26:45 25,305
# AIM: Read an parse an AC3D file
# 11/05/2013 - some UI improvements
# 05/05/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw vec3 show_materials compare_material_hash get_material get_mat_name process_in_file show_vertices need_arg parse_args give_help get_ref get_osg_txt 

ac3dfile.pl 2013/07/22 16:13:44 34,280
# AIM: Read an parse an AC3D file
# 22/07/2013 - add directory scan
# 11/05/2013 - some UI improvements
# 05/05/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw vec3 show_materials compare_material_hash prtw2 get_material get_mat_name process_in_file process_in_directory need_arg parse_args out_type_list give_help get_ref get_osg_txt 

ac3dparse.pl 2013/07/30 19:10:13 33,061
use strict; warnings; Data::Dumper; Carp; File::Copy; 
sub VERB1 VERB2 VERB5 VERB9 prt prtw vec3 basename filename parse_line parse_header parse_roc parse_value parse_name parse_texrep parse_texoff parse_surf parse_data parse_mat parse_loc parse_numvert parse_refs parse_surface parse_numsurf parse_kids parse_object parse_material parse get_min_max_count_index write_json parse_tree write_object uv_sub find_same_vertices make_indices_map calc_vertex_normals calc_vertex_normals_OLD round show_bbox main give_help need_arg get_bool parse_command 

acscan.pl 2010/09/01 18:07:20 29,124
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub get_dbg_var get_dbg_stg get_dbg_range set_dbg_var clear_dbg_var set_all_dbg_on set_all_dbg_off set_ac_scan_debug_on show_missing_subs pgm_exit prtw show_warnings local_strip_both_quotes show_hash_of_in_file ac_trim_all2 ac_do_macro_sub2 ac_do_macro_sub ac_split_macros ac_add_2_ac_macros ac_do_macro_subs ac_am_conf_line_error scan_one_configure_file give_help show_dbg_help load_input_file need_arg parse_args 

acscan02.pl 2010/09/04 16:32:48 39,745
# AIM: Scan a single configure.ac file
# 31/08/2010 - review, with better understanding of the configure.ac file)
# geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub get_dbg_var get_dbg_stg get_dbg_range set_dbg_var clear_dbg_var set_all_dbg_on set_all_dbg_off set_ac_scan_debug_on init_common_subs show_missing_subs pgm_exit prtw show_warnings local_strip_both_quotes show_hash_of_in_file ac_trim_all2 ac_do_macro_sub2 ac_do_macro_sub ac_split_macros ac_add_2_ac_macros ac_do_macro_subs accumulate_ac_macro accumulate_with_back ac_am_conf_line_error trim_ac_define scan_one_configure_file give_help show_dbg_help load_input_file need_arg parse_args 

acscan03.pl 2010/09/19 18:58:14 17,799
# AIM: Scan a single configure.ac file
# 15/09/2010 - Changed to use lib_utils, lib_acscan and lib_params
# 05/09/2010 - Finalize... add write amlist.txt
# 04/09/2010 - Gut and use the new lib_acscan.pl for the reading...
# 31/08/2010 - review, with better understanding of the configure.ac file)
# geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub set_all_dbg_value set_all_dbg_on set_all_dbg_off show_missing_subs show_warnings pgm_exit prtw write_to_am_list process_ac_file get_perl_temp_dir give_help show_dbg_help local_strip_both_quotes load_input_file need_arg parse_args 

addheader.pl 2007/04/11 03:44:42 6,022
# AIM: To insert a block of text into the head of a C/C++ file
# geoff mclane - http://geoffmclane.com/mperl/index.htm
use strict; warnings; File::Basename; 
sub sub_main is_my_file process_directory process_file rename_2_old_bak trimall parse_args in_excl_list 

addjsnav.pl 2013/04/29 20:40:20 13,926
# AIM: QUITE SPECIALIZED! Seek all HTML in folder given, and add a nav.js script,
# and insert a printList() js in 'docs' div...
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw is_excluded is_html_file get_attr_hash process_html_file process_html_files process_in_dir need_arg parse_args give_help 

addrbook.pl 2006/10/21 17:05:52 3,945
# AIM: To decode a BINARY compuserve addrbook,dat file,
# and output the email addresses found.
# geoff mclane - october, 2006
# http://geoffmclane.com/mperl/samples
sub get_byte get_word get_string 

addsrcs.pl 2011/11/03 20:50:20 16,716
# AIM: Add sources to a *.vcproj file
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw show_hash process_in_file get_block check_source_list give_help need_arg add_sources load_input_file parse_args 

addtitle.pl 2012/10/14 17:53:03 6,711
# AIM: Very sepcific - given a HTML file, search for anchors, open anchor HREF file
# and insert the title.
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw Get_File_Title process_in_file need_arg parse_args give_help 

adjcmake.pl 2014/04/18 11:31:43 13,792
# AIM: Sometimes the cmake_install.cmake has HARD CODED paths - This is to 'adjust'
# those hard coded paths to a new path...
# 18/04/2014 - Show the 'aim' as part of the help output
# 15/01/2014 - Appears to work for ZLIB install to F:\FG\18\TEMPI - remove DEBUG
# 22/05/2013 - Fix to take in a FULL CMake line
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw not_complete_cmake_line split_cmake_line get_test_line get_new_line process_in_file need_arg parse_args give_help 

adjjs.pl 2008/07/04 17:09:42 6,657
# AIM: Specialised input a list from Imagemagick 'indentify', load a javascript list, and
# adjust the images size. If identify size is 800x600, put 'N', if 450x600 put 'R',
# else use the geometry given
use strict; warnings; File::Basename; 
sub trim_tail strip_quotes load_files 

adjrt01.pl 2006/06/23 20:41:50 10,213
sub process_proj_file find_solution get_proj_files is_solution is_vcproj pos_of_last_slash file_extension file_title file_name file_dirname wlog prt mydie log_close close_log 

adjrt02.pl 2006/11/23 12:01:46 14,029
# AIM: Given a SOLUTION (SLN) file, extract all projects
# Check and report RUNTIME setting - differentiate Debug/Release / static or not
# IFF $write_changes set, rename the file to .BAK, and write new vcproj file,
# else, just REPORT what would be changed if it was ON.
# OTHER USER OPTIONS
# IFF $UseMD is set, will adjust to /MD[d], else /MT[d]
# IFF $FixIgnore is set, will remove any IGNORE libraries
# IFF $FixStatic is set, will ALSO adjust those configuration that contain the word STATIC
# IFF $FixPrep1 is set, will ENSURE _CRT_SECURE_NO_DEPRECATE is in Preprocessor defines
# Contents of sample VCPROJ file
# <Configurations>
# <Configuration
# Name="Debug|Win32"
# ATLMinimizesCRunTimeLibraryUsage="false"
# >
# <Tool
# Name="VCCLCompilerTool"
# Optimization="0"
# AdditionalIncludeDirectories="..\vc2005;..\zlib;..\png;..\jpeg;.."
# PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_WINDOWS;WIN32_LEAN_AND_MEAN;VC_EXTRA_LEAN;WIN32_EXTRA_LEAN"
# RuntimeLibrary="3"
# />
# </Configuration>
# Name="Release|Win32"
sub process_proj_file trimall find_solution get_proj_files is_solution is_vcproj 

adjxml.pl 2008/07/07 14:28:46 6,234
# AIM: specalized - read a javascript text file, with array of image captions, and
# write the caption to a JetPhoto XML file as <info>...</info>
# 06/07/2008 geoff mclane http://geoffair.net/mperl - specialized!
use strict; warnings; XML::DOM; 
sub get_js_caption process_xml process_lines_failed unicode_substr trim_js_line 

afm2txf.pl 2007/08/05 16:57:26 8,908
use strict; 
sub round genPostscript 

alarm.pl 2006/09/12 14:59:34 3,877
# AIM: To try alarm function
# BUT NEVER GOT ANYTHING TO WORK WITH alarm !!!
# neither the STDIN test, nor any socket tests
# sockets can be set non-blocking, thus maybe alarm not needed?!!?
# but think alarm SECONDS does NOT function in WIN32
# from : http://experts.about.com/q/Perl-CGI-1045/Alarm-error.htm
# read : But alarm seems to be unsupported function in windows...
# i get the following error msg..
# The Unsupported function alarm function is unimplemented at TIMER3.PL line 3.
# from : http://www.fvwm.org/documentation/perllib/FVWM::Tracker::Scheduler.php?theme=default
# read : Note that alarm signals are not relable in some perl versions, on some systems and with
# some kind of applications, don't expect the alarm method to work at all.
use strict; warnings; IO::Socket; utf8; POSIX qw(:errno_h); 

am2dsp.pl 2005/11/05 13:19:10 31,616
use strict; Cwd; 
sub exclude_dir exclude_file parse_arguments read_am2dsprc scan_configure scan_one_configure_file read_main_am_file read_am_file initialize_per_input expand_here dsp_add_source_rule dsp_add_group dsp_finish 

am2dsp1.pl 2005/11/08 20:13:04 34,484
use strict; Cwd; 
sub exclude_dir exclude_file do_help parse_arguments read_am2dsprc scan_configure scan_one_configure_file read_main_am_file read_am_file initialize_per_input expand_here dsp_add_source_rule dsp_add_group dsp_finish 

am2dsp2.pl 2005/11/12 12:43:58 34,115
use strict; Cwd; 
sub exclude_dir exclude_file do_help parse_arguments read_am2dsprc require_argument scan_configure scan_one_configure_file read_main_am_file read_am_file initialize_per_input expand_here dsp_add_source_rule dsp_add_group dsp_finish 

am2dsp3.pl 2005/11/12 13:28:28 34,246
use strict; Cwd; 
sub exclude_dir exclude_file do_help parse_arguments read_am2dsprc require_argument scan_configure scan_one_configure_file read_main_am_file read_am_file initialize_per_input expand_here dsp_add_source_rule dsp_add_group dsp_finish 

am2dsp4.pl 2006/04/16 12:54:34 45,662
use strict; Cwd; 
sub add_group_start add_group_end exclude_dir exclude_file give_little_help set_input_dir parse_arguments add_2_msvc add_2_libs add_2_libpaths read_am2dsprc scan_configure scan_one_configure_file read_main_am_file read_am_file initialize_per_input am_error expand_here dsp_add_source_rule dsp_add_group dsp_finish check_lib_paths check_inc_paths check_includes pos_of_last_slash file_extension file_title add_2_source_list add_dupes_dir write_new_dsp prt amend_vcproj 

am2dsp5.pl 2006/04/28 17:41:30 116,480
use strict; Cwd; 
sub add_group_start add_group_end exclude_dir exclude_file give_little_help set_input_dir parse_arguments add_2_msvc add_2_libs add_2_libpaths read_am2dsprc scan_configure scan_one_configure_file read_main_am_file read_am_file initialize_per_input am_error expand_here dsp_add_source_rule dsp_add_group dsp_finish add_2_used_libs check_lib_paths check_inc_paths show_lib_found find_rel_file find_vc8_file is_in_extra find_in_vc8_srcs find_in_vc8_hdrs file_in_dupes check_vc8_proj check_includes pos_of_last_slash file_extension file_title is_c_source_ext is_h_source_ext add_2_source_list add_dupes_dir write_new_dsp prt mydie trim_line find_item3 find_headers find_sources find_hash3 find_config get_lines get_raw_lines clear_arrays process_vc8_lines copy_main_items copy_lib_items read_vcproj show_arrays show_main_arrays show_lib_arrays show_sh_lines prt_list amend_vcproj check_vc8_config 

am2dsp6.pl 2006/04/29 18:44:52 116,991
use strict; Cwd; 
sub add_group_start add_group_end exclude_dir exclude_file give_little_help set_input_dir parse_arguments add_2_msvc add_2_libs add_2_libpaths read_am2dsprc scan_configure scan_one_configure_file read_main_am_file read_am_file initialize_per_input unquote_cond_val am_error expand_here dsp_add_source_rule dsp_add_group dsp_finish add_2_used_libs check_lib_paths check_inc_paths show_lib_found find_rel_file find_vc8_file is_in_extra find_in_vc8_srcs find_in_vc8_hdrs file_in_dupes check_vc8_proj check_includes pos_of_last_slash file_extension file_title is_c_source_ext is_h_source_ext add_2_source_list add_dupes_dir write_new_dsp prt mydie trim_line find_item3 find_headers find_sources find_hash3 find_config get_lines get_raw_lines clear_arrays process_vc8_lines copy_main_items copy_lib_items read_vcproj show_arrays show_main_arrays show_lib_arrays show_sh_lines prt_list amend_vcproj check_vc8_config 

am2dsp7.pl 2009/06/09 15:41:16 81,545
# AIM: Read Makefile.am set, and generate MSVC6 DSW/DSP files for the project.
# Variable $static_lib controls if app or lib = 1 for SimGear, 0 for FlightGear
# ALSO SEE amsrcs[nn].pl to show the sources, and write temp DSP/DSW file
# 21/11/2008 - This will run without a 'config' file, but the results???
# in other attempts at this have used the VCPROJ file to get such values.
# Has BIG problem, in that it COMBINES ALL sources, into ONE, including some
# of the standalone 'test' and 'utitlity' applications.
# NOTE: Because of changing/evolving spec for config file, am2dsp?.cfg,
# this version will not run without finding, at least a blank file am2dsp7.cfg
# Also, to simplify the script a little, the writing of the old style DSP,
# with 'folders' to match the source folders has been completely abandoned!
# also abandoned is the effort to read and modify the MSVC8 solutions files.
# geoff mclane - 7 Nov, 2006
# 19/05/2008 - Many changes to try to analyse ANY project, and write DSP/DSW file(s)
# FIX20061107 bug fix: like some JSBSim Makefile.am files, others have been found with
# source files listed under 'noinst_HEADERS', this function now only adds
# a file from this tag if it has a 'header' extension - h, hpp, or hxx
# 20070421 - totally remove all MSVC8 stuff
# 21/04/2007 - and do a general tidyup of code
# 04/04/2008 - add log file
# 2006 geoff mclane http://geoffair.net/mperl
use strict; Cwd; File::Basename; 
sub add_group_start add_group_end exclude_dir exclude_file give_little_help set_input_dir parse_arguments add_2_msvc add_2_libs add_2_libpaths read_am2dsp_rc scan_configure add_2_ac_macros trim_all2 scan_one_configure_file show_contents read_main_am_file read_am_file initialize_per_input unquote_cond_val conditional_true_when check_ambiguous_conditional am_error am_line_error generate_dsw expand_here show_rename console_app_dsp_init static_lib_dsp_init dsp_add_source_rule is_in_list show_am_sources process_am_file dsp_finish add_2_used_libs check_lib_paths check_inc_paths show_lib_found check_includes is_c_source_ext is_h_source_ext add_2_source_list add_dupes_dir write_new_dsp trim_line rename_2_old_bak prt_list do_macro_sub2 do_macro_sub prtw show_warnings get_root_name get_dsp_name get_dsw_name fix_rel_path file_extension file_title set_all_debug 

am2dsp8.pl 2010/09/22 16:46:26 84,674
# AIM: Read Makefile.am set, and generate MSVC6 DSW/DSP files for the project.
# 13/09/2010 - Suspended this line of scripts for now. See amsrcs04.pl
# 24/08/2010 - Review of script
# Variable $static_lib controls if app or lib = 1 for SimGear, 0 for FlightGear
# ALSO SEE amsrcs[nn].pl to show the sources, and write temp DSP/DSW file
# 21/11/2008 - This will run without a 'config' file, but the results???
# in other attempts at this have used the VCPROJ file to get such values.
# Has BIG problem, in that it COMBINES ALL sources, into ONE, including some
# of the standalone 'test' and 'utitlity' applications.
# NOTE: Because of changing/evolving spec for config file, am2dsp?.cfg,
# this version will not run without finding, at least a blank file am2dsp7.cfg
# Also, to simplify the script a little, the writing of the old style DSP,
# with 'folders' to match the source folders has been completely abandoned!
# also abandoned is the effort to read and modify the MSVC8 solutions files.
# geoff mclane - 7 Nov, 2006
# 19/05/2008 - Many changes to try to analyse ANY project, and write DSP/DSW file(s)
# FIX20061107 bug fix: like some JSBSim Makefile.am files, others have been found with
# source files listed under 'noinst_HEADERS', this function now only adds
# a file from this tag if it has a 'header' extension - h, hpp, or hxx
# 20070421 - totally remove all MSVC8 stuff
# 21/04/2007 - and do a general tidyup of code
# 04/04/2008 - add log file
# 2006 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub show_warnings pgm_exit add_group_start add_group_end exclude_dir exclude_file add_2_msvc add_2_libs add_2_libpaths read_am2dsp_rc scan_configure add_2_ac_macros trim_all2 scan_one_configure_file show_contents read_main_am_file read_am_file initialize_per_input unquote_cond_val conditional_same conditional_true_when check_ambiguous_conditional am_error am_line_error generate_dsw expand_here show_rename console_app_dsp_init static_lib_dsp_init dsp_add_source_rule is_in_list show_am_sources process_am_file dsp_finish loc_dir_name add_2_used_libs check_lib_paths check_inc_paths show_lib_found check_includes is_c_source_ext is_h_source_ext add_2_source_list add_dupes_dir write_new_dsp trim_line rename_2_old_bak prt_list do_macro_sub2 do_macro_sub prtw get_root_name get_dsp_name get_dsw_name fix_rel_path file_extension file_title set_all_debug give_little_help set_input_dir require_argument parse_arguments 

am2dspcurr.pl 2006/03/21 21:05:14 33,202
use strict; Cwd; 
sub exclude_dir exclude_file parse_arguments read_am2dsprc scan_configure scan_one_configure_file read_main_am_file read_am_file initialize_per_input expand_here dsp_add_source_rule dsp_add_group dsp_finish 

am2list01.pl 2009/06/09 15:42:54 63,830
# AIM: Load Makefile.am files from a given folder, and list the source files found ...
# 25/09/2007 - some improvements, and remove MSVC8 stuff
# geoff mclane - http://geoffair.net/mperl
use strict; Cwd; 
sub add_group_start add_group_end exclude_dir exclude_file give_little_help set_input_dir parse_arguments add_2_msvc add_2_libs add_2_libpaths read_am2dsprc scan_configure scan_one_configure_file read_main_am_file read_am_file initialize_per_input unquote_cond_val am_error expand_here dsp_add_source_rule dsp_add_group dsp_finish add_2_used_libs check_lib_paths check_inc_paths show_lib_found pos_of_last_slash file_extension file_title is_c_source_ext is_h_source_ext add_2_source_list add_dupes_dir write_new_dsp 

am2list02.pl 2010/09/22 16:59:50 63,224
# AIM: Load Makefile.am files from a given folder, and list the source files found ...
# 22/09/2010 - Development abandoned for amsrcs04.pl, which does LOTS more
# 24/08/2010 - Reviewed
# 25/09/2007 - some improvements, and remove MSVC8 stuff
# geoff mclane - http://geoffair.net/mperl
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub show_warnings pgm_exit prtw add_group_start add_group_end exclude_dir exclude_file add_2_msvc add_2_libs add_2_libpaths read_am2dsprc scan_one_configure_file scan_configure read_main_am_file read_am_file initialize_per_input unquote_cond_val am_error am_line_error generate_dsw expand_here console_app_dsp_init static_lib_dsp_init dsp_add_source_rule dsp_add_group dsp_finish loc_dirname add_2_used_libs check_lib_paths check_inc_paths show_lib_found is_c_source_ext is_h_source_ext add_2_source_list add_dupes_dir write_new_dsp show_src_lists require_argument give_little_help set_input_dir parse_arguments 

amfile01.pl 2006/07/26 13:21:26 21,767
sub read_am_file am_error unquote_cond_val initialize_per_input trim_line 

amitems.pl 2010/03/11 15:16:20 11,266
# AIM: Read a Makefile.am files, and hash the contents
use strict; warnings; 
sub show_warnings pgm_exit prtw is_equal_macro is_target_line is_if_else_or_endif process_file show_ref_hash 

amscan.pl 2010/09/22 16:37:14 65,901
# AIM: Given a single Makefile.am, try to SCAN all in the set
# 05/09/2010 - Some further tidying...
# 31/08/2010 - Review (with new/better understanding of the Makefile.am ;=))
# 11/11/2008 - geoff mclane - http://geoffair.net/mperl
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub process_one_am_file set_dbg_base get_dbg_var get_dbg_stg get_dbg_range set_dbg_var clear_dbg_var set_all_dbg_on set_all_dbg_off set_debug_all set_debug_none get_root_dir add_key_2_added init_commmon_subs2 init_common_subs show_missing_subs prtw show_warnings pgm_exit sub_common_folder sub_root_folder value_not_in_first get_value_from_hash begins_with sub_root_dir do_dir_scan is_file_in_scan match_dir_for_c_source extract_from_hash am_macro_split test_for_substitution add_key_value_2_hash process_AM_file list_to_arrays process_primary give_help need_arg show_dbg_help local_strip_both_quotes load_input_file wait_key parse_args 

amscan02.pl 2010/09/22 16:35:54 29,110
# AIM: Given a single Makefile.am, try to SCAN all in the set
# 15/09/2010 - Using only lib_amscan.pl, and lib_params.pl
# 07/09/2010 - Moving towards a lib_amscan.pl
# 05/09/2010 - Some further tidying...
# 31/08/2010 - Review (with new/better understanding of the Makefile.am ;=))
# 11/11/2008 - geoff mclane - http://geoffair.net/mperl
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub set_dbg_base get_dbg_var get_dbg_stg get_dbg_range set_dbg_var clear_dbg_var set_all_dbg_on set_all_dbg_off get_user_rt get_user_libs get_user_incs get_user_defs get_user_output get_user_inter add_defined_item add_include_item show_missing_subs prtw show_warnings pgm_exit sub_common_folder sub_root_folder_BAD begins_with process_one_am_file sub_root_dir sub_root_folder process_primary get_perl_temp_dir give_help need_arg show_dbg_help local_strip_both_quotes load_input_file set_debug_all set_debug_none add_to_commands parse_args 

amsrcs01.pl 2009/06/24 17:58:32 78,071
# AIM: Given a folder, trace the makefile.am files, collecting
# libraries, applications and sources
# Show 'projects' found, and SHOW the sources of each.
# AND write a DSP file for each!!!
# Also see am2dsp[n].pl as well ...
# Also scan the 'top' directory for ALL FILE,
# and show files NOT in a project
# Add projects NOT addressed by main configure.ac and makefile.am
# 17/11/2007 - geoff mclane - http://geoffair.net/mperl
# The process
# Read the configure.ac file, and build a set of contents
# and put inputs into @make_input_list, or @other_input_files
# which are then put in @input_files ... set $dgb20 to see list as processed
# Each @input_files, and later @other_inputs (makefile.am) is processed in process_am_file()
# Sources are added to @msvc_c_files in form 'Lib/Project | Source | Title'
# extract_am_project then separates these into $am_projects{$lib} .= ['|'.]$lsc;
# The %am_project's are shown by show_am_projects( $main_root_dir );
# Then the 'other' projects are shown - show_other_projects( $main_root_dir );
# and finally all source files found show_all_sources( "makefile.am set", $main_root_dir );
# 04/04/2008 - add read of sub-directory 'configure.ac' if present ...
use strict; warnings; File::Basename; 
sub extract_am_projects show_other_projects show_am_projects get_main_msg scan_root_folder is_in_ac_done do_macro_sub2 do_macro_sub scan_one_configure_file am_error am_conf_line_error am_line_error initialize_per_input unique_proj process_other_sources replace_top_srcdir find_am_includes process_am_file read_main_am_file read_am_file has_no_extent is_am_source_ext is_am_file is_c_source_ext is_h_source_ext add_2_source_list exclude_dir unquote_cond_val conditional_true_when check_ambiguous_conditional trim_line exclude_cvs_svn get_top_files is_c_source is_h_special is_h_source is_dsw_file is_sln_file is_ch_source is_my_type fix_rel mark_all_files show_all_sources get_missed_makes get_all_makes expand_here console_app_dsp_init static_lib_dsp_init end_dsp_file generate_dsw get_am_incs get_am_libs out_dsp_file rename_2_old_bak prtw prtd 

amsrcs02.pl 2010/04/14 19:23:28 99,471
# AIM: MAKE DSP FILES - Given a folder, trace the makefile.am files, collecting
# libraries, applications and sources
# Show 'projects' found, and SHOW the sources of each.
# AND write a DSP file for each!!!
# While it confidently outputs a set of DSP files, and a DSW file, in
# complex cases these will not work very well, as it MISSES lots of includes, and libraries
# 10/02/2010 - Review of this script
# ONLY GENERATES TEMPORARY DSP FILE(S), and 'temp_list.dsw' if the option $write_temp_ds is set to 1
# Add DSP 'sources' relative to a $target_dir, Remove a warning about no GROUP
# 2009-06-09 - change error exit to WARNING only, and continue processing
# 2009-05-09 - Add or ensure _CRT_SECURE_NO_DEPRECATE is added to defines
# 22/11/2008 - Problem, perhaps, in that it 'splits' fgfs into MANY libraries
# which is perhpas how it should be???
# Also see am2dsp[n].pl as well, which is the opposite, in that is COMBINES
# everything, including 'test' and 'utilties' into ONE ... and puts ALL the objects
# into Debug or Release, which would NOT account for duplicates!
# Also scan the 'top' directory for ALL FILE,
# and show files NOT in a project
# Add projects NOT addressed by main configure.ac and makefile.am
# 17/11/2007 - geoff mclane - http://geoffair.net/mperl
# The process
# Read the configure.ac file, and build a set of contents
# and put inputs into @make_input_list, or @other_input_files
# which are then put in @input_files ... set $dgb20 to see list as processed
# Each @input_files, and later @other_inputs (makefile.am) is processed in process_am_file()
# Sources are added to @msvc_c_files in form 'Lib/Project | Source | Title'
# extract_am_project then separates these into $am_projects{$lib} .= ['|'.]$lsc;
# The %am_project's are shown by show_am_projects( $main_root_dir );
# Then the 'other' projects are shown - show_other_projects( $main_root_dir );
# and finally all source files found show_all_sources( "makefile.am set", $main_root_dir );
# 04/04/2008 - add read of sub-directory 'configure.ac' if present ...
# 22/11/2008 - add /GR to DSP, and removed all \r output
use strict; warnings; File::Basename; 
sub get_top_files fix_rel prtw prtd pgm_exit subract_target_dir has_no_extent exclude_cvs_svn exclude_dir is_c_source_ext is_h_source_ext is_am_source_ext is_am_file process_one_file lib_in_projects generate_dsw gen_temp_dsw extract_am_projects gen_inc_hash_others gen_inc_hash_am show_other_projects show_am_projects get_main_msg scan_root_folder is_in_ac_done do_macro_sub2 do_macro_sub scan_one_configure_file am_error am_conf_line_error am_line_error initialize_per_input unique_proj get_lib_depends process_other_sources replace_top_srcdir find_am_includes process_am_file read_main_am_file read_am_file add_2_source_list unquote_cond_val conditional_true_when check_ambiguous_conditional trim_line is_c_source is_h_special is_h_source is_dsw_file is_sln_file is_ch_source is_my_type mark_all_files show_all_sources get_missed_makes get_all_makes expand_here console_app_dsp_init static_lib_dsp_init end_dsp_file get_am_incs get_am_libs out_dsp_file rename_2_old_bak C_comment_starts inline_comment_starts C_comment_ends get_C_file_lines get_include_list show_inc_hash 

amsrcs03.pl 2010/09/22 16:48:50 174,397
# AIM: MAKE DSP FILES - Given a folder, trace the makefile.am files, collecting
# libraries, applications and sources. The process starts with scanning configure.ac (or .in)
# Show 'projects' found, and SHOW the sources of each.
# AND write a DSP file for each!!!
# While it confidently outputs a set of DSP files, and a DSW file, in
# complex cases these will not work very well, as it MISSES lots of includes, and libraries
# 22/09/2010 - Suspended in favour of amsrcs04.pl
# 08/09/2010 - Another MASSIVE review - many, MANY CHANGES, including support for Makefile.in,
# when there is NO Makefile.am, immediate exit if no configure.ac found, many more user options, etc
# struggling between source directories - choose to suspend enhancement of this script
# and start a new amsrcs04.pl, done completely different!
# 10/02/2010 - Review of this script
# ONLY GENERATES TEMPORARY DSP FILE(S), and 'temp_list.dsw' if the option $write_temp_ds is set to 1
# Add DSP 'sources' relative to a $target_dir, Remove a warning about no GROUP
# 2009-06-09 - change error exit to WARNING only, and continue processing
# 2009-05-09 - Add or ensure _CRT_SECURE_NO_DEPRECATE is added to defines
# 22/11/2008 - Problem, perhaps, in that it 'splits' fgfs into MANY libraries
# which is perhaps how it should be???
# Also see am2dsp[n].pl as well, which is the opposite, in that is COMBINES
# everything, including 'test' and 'utilties' into ONE ... and puts ALL the objects
# into Debug or Release, which would NOT account for duplicates!
# Also scan the 'top' directory for ALL FILE,
# and show files NOT in a project
# Add projects NOT addressed by main configure.ac and makefile.am
# 17/11/2007 - geoff mclane - http://geoffair.net/mperl
# The process
# Read the configure.ac file, and build a set of contents
# and put inputs into @make_input_list, or @other_input_files
# which are then put in @input_files ... set $dgb20 to see list as processed
# Each @input_files, and later @other_inputs (makefile.am) is processed in process_am_file()
# Sources are added to @msvc_c_files in form 'Lib/Project | Source | Title'
# extract_am_project then separates these into $am_projects{$lib} .= ['|'.]$lsc;
# The %am_project's are shown by show_am_projects( $main_root_dir );
# Then the 'other' projects are shown - show_other_projects( $main_root_dir );
# and finally all source files found show_all_sources( "makefile.am set", $main_root_dir );
# 04/04/2008 - add read of sub-directory 'configure.ac' if present ...
# 22/11/2008 - add /GR to DSP, and removed all \r output
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub get_top_files set_dbg_base get_dbg_var get_dbg_stg get_dbg_range set_dbg_var clear_dbg_var set_all_dbg_on set_all_dbg_off repeat_dsp_info prtw prtd pgm_exit subract_target_dir subract_source_dir does_next_am_file_exist get_next_am_file get_next_full_am_file is_if_else_endif get_my_type_stg has_no_extent exclude_cvs_svn exclude_dir local_is_c_source local_is_h_special local_is_h_source is_dsw_file is_sln_file is_ch_source is_my_type loc_fix_rel is_c_source_ext is_h_source_ext is_am_source_ext is_am_file process_one_file lib_in_projects generate_dsw gen_temp_dsw extract_am_projects gen_inc_hash_others gen_inc_hash_am show_other_projects show_am_projects get_main_msg test_root_folder scan_root_folder is_in_ac_done do_macro_sub2 do_macro_sub drop_trailing_dots is_shell_action local_space_split local_strip_both_quotes grep_for_value get_cut_range set_by_shell_action get_sub_for do_mac_subs macro_split try_for_substitution eat_ac_macro scan_one_configure_file am_error am_conf_line_error am_line_error initialize_per_input unique_proj get_lib_depends process_other_sources replace_top_srcdir find_am_includes strip_single_quotes massage_key is_skipped_item add_2_new_source_list get_proj_name process_in_file_contents process_am_file read_main_am_file pre_process_in_file trim_rule read_am_file add_2_source_list quote_cond_val unquote_cond_val conditional_true_when check_ambiguous_conditional trim_line mark_all_files list_all_sources show_source_list get_missed_makes get_all_makes expand_here console_app_dsp_init static_lib_dsp_init end_dsp_file get_am_incs get_am_libs out_dsp_file local_rename_2_old_bak C_comment_starts inline_comment_starts C_comment_ends get_C_file_lines get_include_list2 get_include_list show_inc_hash process_input_files process_other_files write_upd_bat give_help need_arg show_dbg_help set_cmd_line load_input_file add_to_defines add_to_includes parse_args 

amsrcs04-new.pl 2010/09/29 12:47:32 69,970
# AIM: To scan a GNU configure.ac, or configure.in input file, for output Makefiles, then
# successifly scan the Maekfile.am (or .in) files, and create a DSP file foreach LIBRARY,
# or PROGRAMS found in this make file san, then finally a DSW file.
# NOTE: This is NOT really a follow on from amsrcs03.pl ;=((
# This is a COMPLETE rewrite using lib_acscan.pl, and lib_amscan.pl
# History: Growing upwards...
# 28/09/2010 Conditionals in the Makefile.am are stored, BUT when it comes to choosing the
# correct sustitution, was just the FIRST TRUE always CHOSEN.
# Added the option like -
# --cond item[:1|0] (-c) = Define a conditional to be applied during parsing.
# Revert to previous, if no conditional defined by user, but write a temp/missed_cond_list.txt
# for items NOT defined.
# 23/09/2010:19/09/2010 - Lots of updates, changes, additions
# 08/09/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 set_all_dbg_on set_all_dbg_off set_max_debug_on wait_key show_missing_subs show_warnings show_missing_conds show_missing_subs2 pgm_exit prtw write_to_am_list process_ac_file sub_common_folder sub_root_folder begins_with sub_first_from_second_if sub_root_dir process_one_am_file process_an_am_file set_default_configs_2 get_user_rt get_user_libs get_user_incs get_user_defs get_user_output get_user_inter add_defined_item add_include_item valid_rp_hash fix_dir_string is_same_file mark_in_dir_scan create_proj_dsp write_project_DSP_DSW_files process_am_list get_perl_temp_dir do_sanity_check module_intialisation show_dbg_ranges give_help show_dbg_help local_strip_both_quotes load_input_file need_arg add_2_commands show_auto_help set_auto_flag add_user_libs set_cond_item parse_args 

amsrcs04.pl 2013/07/11 12:41:00 170,354
# AIM: To scan a GNU configure.ac, or configure.in input file, for output Makefiles, then
# successifly scan the Makefile.am (or .in) files, and create a DSP file foreach LIBRARY,
# or PROGRAMS found in this make file san, then finally a DSW file.
# NOTE: This is NOT really a follow on from amsrcs03.pl ;=((
# This is a COMPLETE rewrite using lib_acscan.pl, and lib_amscan.pl
# History: Growing upwards...
# 11/07/2013 - Avoid duplicate component names, in lib_cmake.pl
# 27/06/2013 - Better grouping in cmake gen - remove double newlines - in lib_cmake.pl
# 01/06/2012 - New option --ADD proj:srcs to force a source file be add to the project, a source
# that may not be found in the Makefile.am files.
# 19/05/2012 - try to fix cmake install for projects like PLIB that has to be installed in /include/plib
# 11/05/2012 - More 'fixes' for unix running
# 10/05/2012 - Make some path_d2u() fixes...
# 10/05/2012 - Some tidying and do work to run in linux
# 18/04/2012 - Begin write of CMakeLists.txt files ;=))
# 17/04/2012 - Due to a WARNING from MSVC10 with auto on change adding out:bin\foo.exe to a copy to bin (like createdsp03.pl ddoes)
# 16/04/2012 - Put the copy BAT in C:\MDOS if it exists
# 19/02/2012 - add -v[num]
# 14/10/2011 - Found a case where only 2 Makefile.am found in configure.ac scan, BUT there is a line
# [01] 39: [AC_CONFIG_SUBDIRS(autoconf-lib-link gettext-runtime gettext-tools)], and these SUBDIRS do
# contain Makefile.am files... so add them to the list of AM to scan
# 03/08/2011 - FIX20110803 - Found macro in Makefile.am like E00 = # src1.c - This should yield NO source
# 21/04/2011 - FIX20110421 in lib_amscan.pl, to eliminate duplicate libs and paths.
# 27/03/2011 - FIX20110327 - -L<set> Allow the 'set' to include MULTIPLE libraries, for multiple project
# 2011-03-14 The -L <set> of library:path:[D|R|B][:project] could be EXTENDED to include
# multiple name, of both the library and project parts, like
# -L lib1;lib2:common_path:[D|R|B][:proj1;proj2;proj3
# Likewise -x project could be EXTENDED to be -x project1;project2;project3
# 23/03/2011 - FIX20110323 - Some minor improvement, and allow -I MACRO:project per project, and fix
# 2011-03-14:FIXED:20110322: The -D macro[:value] got real messed up with say
# '-D DEF_DIR=C:\some\path' Now FIXED 20110322 with got_colon_split(), and colon_split() subs
# 06/03/2011 - FIX20110306 - Set project RUNTIME - either 'T'=static /MT, or 'D'=DLL (default) /MD
# 30/12/2010 - Release 4.24, with some minor things in libraries...
# 18/11/2010 - Fix librayr input -L lib:path:D[;proj] to accept 'c:\' as not a colon split
# 03/11/2010 - Try moving JOINED to FIRST
# 31/10/2010 - Several important additional options, and when a user option -L a-lib.lib:lib:[D|R|B],
# where the a-lib.lib can be a semicolon separated list of libraries, but if no [;proj]
# also try to add this to the DSW, if a local library dependency, to set the build order.
# 21/10/2010 - Added new functions to handle
# defines on a project, by project basis, like
# -D TESTNUM=1:signal1, -D TESTNUM=2:signal2, -D TESTNUM=3:signal3
# AND set project type like SL to DLL, or CA to WA, but DLL NOT tested
# 28/09/2010 Conditionals in the Makefile.am are stored, BUT when it comes to choosing the
# correct sustitution, was just the FIRST TRUE always CHOSEN.
# Added the option like -
# --cond item[:1|0] (-c) = Define a conditional to be applied during parsing.
# Revert to previous, if no conditional defined by user, but write a temp/missed_cond_list.txt
# for items NOT defined.
# 23/09/2010:19/09/2010 - Lots of updates, changes, additions
# 08/09/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub get_curr_auto_flag get_inst_hdr_path get_inst_lib_path get_inst_hdr_bin get_PATH_SEP get_pgmname get_dsp_out_dir get_write_cmake_files get_write_dsp_files fix_rpath_per_os show_ref_hash_inline show_ref_hash is_win_library add_srcs_to_proj get_added_srcs_4_proj set_exclude_project get_project_new_name is_project_src_excluded is_project_all_excluded warn_unused_keys get_user_proj_type warn_missed_user_types warn_missed_user_defined warn_missed_user_libs VERB1 VERB2 VERB5 VERB9 set_all_dbg_on set_all_dbg_off set_max_debug_on wait_key show_missing_subs show_warnings show_missing_conds show_missing_subs2 show_scanned_lines_and_time pgm_exit prtw write_to_am_list got_colon_split colon_split process_ac_file sub_common_folder sub_root_folder begins_with sub_first_from_second_if sub_root_dir set_anon_ref_hashes process_one_am_file process_an_am_file set_default_configs_2 get_user_rt get_user_libs rationalise_lib_paths rationalise_proj_lib_path get_project_incs get_project_defs get_user_incs get_user_defs get_user_output get_user_inter add_defined_item add_include_item valid_rp_hash fix_dir_string is_same_file mark_in_dir_scan file_in_array prune_excluded_libs create_proj_dsp get_macro_type_and_key get_macro_new_value do_all_substitutions sanitise_subdir_value hoh_process_value process_hoh_all process_hoh_subs get_EXCLUDE_msg get_excluded_by_joined process_joined_projects get_proj_libs_rel get_proj_libs_dbg get_proj_user_libs is_dependency_excluded write_project_DSP_DSW_files process_am_list get_perl_temp_dir do_sanity_check set_out_file_names module_intialisation local_strip_both_quotes load_input_file need_arg add_2_commands show_auto_help set_auto_flag add_user_libs set_cond_item set_project_type add_joined_projects set_rename_proj set_cmake_options parse_args show_dbg_ranges show_dbg_help give_help show_cmake_help 

analwarn.pl 2008/09/15 14:14:26 2,414
# AIM: specialized reading of the MSVC 'warning' list, and sort them into groups
use strict; warnings; 
sub process_file prtw mycmp_decend 

ansi-console.pl 2008/12/11 18:45:14 1,095
# AIM: Display some color, using Win32::Console::ANSI;
use strict; warnings; Win32::Console::ANSI; 
sub list_array fill_arrays 

ansicolor.pl 2008/12/12 21:06:48 3,021
# AIM: Test some ANSI coloring - ANSI color sequences
# 12/12/2008 geoff mclane http://geoffair.net/mperl
use strict; Win32::Console::ANSI; Term::ANSIColor; 

ansicolor2.pl 2010/01/14 20:19:32 734
use strict; warnings; Win32::Console::ANSI; Term::ANSIColor qw(:constants); 

aperltemplate.pl 2010/05/06 14:54:16 3,129
# AIM: Using the file input, create a HTML table item
# 05/05/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; Digest::MD5 qw(md5 md5_hex md5_base64); File::stat; 
sub pgm_exit prtw show_warnings give_help need_arg parse_args 

apsetup.pl 2010/06/17 15:42:12 6,545
# AIM: Taking a BLANK application template, build a NEW application, in a NEW
# directory...
use strict; warnings; File::Basename; Cwd; 
sub pgm_exit prtw show_warnings get_input_files copy_src_files give_help need_arg parse_args 

array01.pl 2010/05/01 15:07:48 4,751
# AIM: To check out some array code ...
###use strict;
use warnings; 

arrayref01.pl 2007/02/14 11:12:12 866
# AIM: Passing and using an ARRAY REFERENCE - ie pass \@used_colors to a functions,
# then address the members of the arrya reference using the ${$arrayref}[NN] format ...
use strict; warnings; 
sub out_an_array 

arrays01.pl 2007/09/04 14:33:08 701
# AIM: Just some tests with an Array of Arrays
# 04/09/2007 geoff mclane - http://geoffair.net/mperl/
use strict; warnings; 
sub prt 

ascii.pl 2008/12/12 20:22:18 1,506
# AIM: Ouput an ASCII 255 character chart
# 12/12/2008 - Added OCTAL, and wrap on 4, if ANY parameter added
# and added header lines

astro.pl 2013/03/05 17:04:58 8,594
# AIM: SPECIFIC - Load xplane earth_astro.dat and output to csv file
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file need_arg parse_args give_help 

atlas-trk.pl 2011/03/03 19:19:04 29,036
# AIM: Read, and display an Atlas 'track' file - a text file, with a bunch of nmea
# text strings - those emitted from a GP unit... example
# $GPRMC,010044,A,3142.142,S,14838.309,E,000.0,342.0,2112110,0.000,E*50
# $GPGGA,010044,3142.142,S,14838.309,E,1,,,-9999,F,,,,*24
# $PATLA,115.80,280.0,116.80,29.0,374*66
# 17/02/2011 - review
# 24/12/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; Time::HiRes qw( usleep gettimeofday tv_interval ); 
sub show_warnings pgm_exit prtw deg_to_rad get_lat_lon_at_dist_on_heading get_latitude get_longitude get_message_checksum get_gps_info_example_not_used process_GPRMC_msg process_GPGGA_msg process_PATLA_msg bark_if_RMC_ne_GGA get_time_in_seconds get_hhmmss get_decimal_stg get_heading_stg get_sg_dist_stg get_dist_stg get_last_dist_stg process_in_file process_message_arrays give_help need_arg parse_args 

autoaccess01.pl 2006/07/22 15:07:00 1,180
use Win32::ODBC; Win32::OLE; Win32::OLE::Const 'Microsoft DAO'; 

autoaccess02.pl 2006/07/13 19:14:34 1,073
use Win32::ODBC; Win32::OLE; Win32::OLE::Const 'Microsoft DAO'; 

autoado01.pl 2006/06/12 13:06:58 1,021
use strict; Win32::OLE; Win32::OLE::Const 'Microsoft ActiveX Data Objects'; 

autoax01.pl 2006/06/12 12:07:52 6,828
use Win32::OLE::Const 'Microsoft ActiveX Data Objects'; Win32::OLE::Variant; 

autoexcel01.pl 2006/06/11 21:43:30 4,585
use LWP::Simple; Win32::OLE qw(in valof with); Win32::OLE::Const 'Microsoft Excel'; Win32::OLE::NLS qw(:DEFAULT :LANG :SUBLANG); 
sub RGB 

autoexcel02.pl 2006/06/12 12:39:48 2,497
use strict; Win32::OLE qw(in with); Win32::OLE::Const 'Microsoft Excel'; 
sub wlog prt mydie 

autoexcel03.pl 2006/06/12 12:42:50 799
use strict; Win32::OLE; Win32::OLE::Const 'Microsoft Excel'; 

autoexcel04.pl 2006/06/12 12:59:56 1,508
use strict; Win32::OLE qw(in with); Win32::OLE::Const; Win32::OLE::Const 'Microsoft Excel'; 

autoexcel05.pl 2006/06/19 17:13:50 10,047
use LWP::Simple; Win32::OLE qw(in valof with); Win32::OLE::Const 'Microsoft Excel'; Win32::OLE::NLS qw(:DEFAULT :LANG :SUBLANG); 
sub RGB output_bars output_html wlog prt mydie log_close close_log 

autoexcel06.pl 2006/06/19 17:13:50 8,067
use Win32::OLE qw(in valof with); Win32::OLE::Const 'Microsoft Excel'; Win32::OLE::NLS qw(:DEFAULT :LANG :SUBLANG); 
sub out_version add_chart RGB fill_bars2 fill_bars2_org wlog prt mydie log_close close_log 

autoexch01.pl 2006/08/27 11:49:26 5,055
use LWP::Simple; 
sub htmlclean01 extractcurrency01 

autoexch02.pl 2006/08/26 14:18:24 7,919
use LWP::Simple; 
sub extractcurrencies02 htmlclean02 

autoexch03.pl 2006/08/26 18:09:40 8,512
# AIM: Download the $URL, and find the currency
# in a <PRE...> tag, between
# MONETARY, and
# MEMO: each line looking like -
# COUNTRY UNIT Aug. 21 Aug. 22 Aug. 23 Aug. 24 Aug. 25
# *AUSTRALIA DOLLAR 0.7640 0.7625 0.7628 0.7632 0.7568
# BRAZIL REAL 2.1364 2.1303 2.1346 2.1633 2.1593
use LWP::Simple; 
sub htmlclean03 extractcurrencies03 mth_to_num get_YYYYMMDD 

autoexch04.pl 2006/08/27 11:49:26 8,857
# AIM: Download the $URL, and find the currency
# heading in table, after CLEAN
#<td></td>
#<td>Code</td><td></td><td>Currency</td><td></td><td>fcu/CAD</td><td></td><td>fcu/USD</td>
# sample row from table
#<tr>
#<td> <tt>ARS</tt> </td><td></td><td>Argentine Pesos</td><td></td><td>2.7941</td><td></td><td>3.0958</td>
#<td> <tt>MAD</tt> </td><td></td><td>Moroccan Dirham</td><td></td><td>7.8186</td><td></td><td>8.6630</td>
#</tr>
use LWP::Simple; 
sub extractcurrencies04 mth_to_num get_YYYYMMDD 

autogif.pl 2007/08/22 15:58:26 5,016
# AIM: Generate a GIF file, using Microsoft Graph ??.0 Object Library
# Used OLEVIEW.EXE -> expand 'Type Libraries' to find latest MS Graph Object library.
# 22/08/2007 - geoff mclane - http://geoffair.net/mperl/samples
use strict; warnings; Win32::OLE qw( with in ); Win32::OLE::Const "Microsoft Graph 12.0 Object Library"; 

autoie01.pl 2006/06/11 20:25:52 1,485
use strict; Cwd; Win32::OLE qw(EVENTS); 
sub Event SetEditBox 

autoie02.pl 2006/06/14 14:58:04 8,730
use strict; Cwd; Win32::OLE qw(in valof with OVERLOAD EVENTS); Data::Dump qw(dump); Data::Dumper; UNIVERSAL qw( isa can VERSION ); 
sub Event SetEditBox Enumerate_Forms Enumerate_Forms_2 wlog prt mydie close_log 

autoie03.pl 2006/06/14 19:13:34 12,333
use vars qw( $VERSION ); Win32::OLE qw( EVENTS in with valof ); Win32::OLE::Variant; FileHandle; 
sub wlog prt mydie close_log 

autoie04.pl 2006/06/15 14:49:58 5,230
use strict; warnings; Time::HiRes qw(gettimeofday); URI; Win32::OLE qw( EVENTS in with valof ); Win32::OLE::Variant; 
sub win32_ie_events wlog prt mydie close_log 

autoie05.pl 2006/06/15 14:51:26 4,054
use strict; Data::Dumper; Win32::OLE qw( EVENTS ); Time::HiRes qw(gettimeofday); IO::Handle; 
sub ie_events wlog prt mydie close_log 

autoquote01.pl 2006/06/17 19:55:48 2,852

autoquote02.pl 2006/06/17 21:18:00 7,088
use LWP::Simple; 
sub wlog prt mydie close_log 

autosp01.pl 2011/01/03 16:33:42 12,160
use strict; warnings; Win32::OLE; Data::Dumper; 
sub cycle vprt wlog prt prtv9 mydie 

autoword01.pl 2006/06/12 18:24:34 1,823
use strict; Win32::OLE; Win32::OLE::Const 'Microsoft Word'; 

autoword02.pl 2007/09/22 18:16:18 7,692
use Win32::OLE; Win32::OLE::Const 'Microsoft Word'; 
sub wlog prt mydie require_arg give_help parse_args write_a_file trim_all 

autoword03.pl 2006/06/16 11:52:06 4,877
use strict; Win32::OLE qw(in with); Win32::OLE::Const 'Microsoft Word'; 
sub wlog prt prtv9 mydie 

autoword03b.pl 2006/06/16 13:29:46 10,778
use strict; Win32::OLE qw(in with); Win32::OLE::Const 'Microsoft Word'; Time::HiRes qw(gettimeofday); 
sub use_get_object use_word_app add_word is_in_common wlog prt prtv9 mydie 

autoword04.pl 2006/06/16 11:45:08 3,836
use Win32::OLE::Const; 
sub wlog prt mydie close_log 

autoword05.pl 2007/08/29 14:16:30 3,685
# AIM: To test out the following -
# from : http://www.wellho.net/solutions/perl-using-perl-to-read-microsoft-word-documents.html
# Extracting PARAGRAPHS from a word document.
# 29/08/2007 - geoff mclane - geoffair.net/mperl
use strict; warnings; Win32::OLE; Win32::OLE::Enum; 
sub dec2hex show_crlf 

avsize.pl 2008/07/02 11:33:12 2,703
# AIM: Given an input folder, give the avaerage SIZE of the files contained. Default is current folder ...
# 7/2/2008 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; File::Basename; File::stat; Cwd; 
sub prt get_nn 

awy2csv.pl 2014/02/16 16:38:14 114,973
# AIM: Read X-Plane (Robin Pell) earth_awy.dat and output as CSV and json to
# a target directory
# 16/02/2014 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Copy; Math::Trig; Time::HiRes qw( gettimeofday tv_interval ); constant PI => 4 * atan2(1, 1); 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw toRad toDeg isNaN distVincenty trimall get_tile add_2_tiles is_valid_nav set_average_apt_latlon set_apt_version mycmp_ascend_n0 mycmp_ascend_t1 mycmp_ascend_n1 mycmp_ascend_n4 mycmp_ascend_n5 mycmp_ascend_n6 mycmp_ascend mycmp_decend mycmp_ascend_n11 fix_airport_name in_world_range find_ils_for_apt get_ils_info get_nav_info output_apts_to_json load_apt_data load_nav_file ll2xyz xyz2ll coord_dist_sq get_bucket_info write_nav_csv look_like_icao IsANumber looks_like_rwy exception_names is_ndb_lom is_big_exception filter_nav_list write_nav_list looks_like_number looks_like_freq looks_like_id looks_like_bearing looks_like_gs parse_nav_lines check_files output_readme spl_space_split do_nav_load do_awy_load need_arg parse_args give_help get_awy_vers get_nav_vers 

basename.pl 2007/03/31 18:51:02 1,055
# AIM: simple example of using fileparse, and basename ...
# see http://perldoc.perl.org/File/Basename.html
use strict; warnings; File::Basename; 
sub show_split get_suffix 

basename02.pl 2007/03/31 19:03:54 935
# AIM: simple example of using fileparse, and basename ...
# see http://perldoc.perl.org/File/Basename.html
use strict; warnings; File::Basename; File::Spec::Functions qw[splitpath canonpath splitdir abs2rel]; 
sub show_split 

bat2sh.pl 2013/10/25 13:24:43 6,534
# AIM: Given a DOS BAT file, try to convert it to a linux shell script, hopefully...
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw conv_vars process_in_file need_arg parse_args give_help 

bdlogger.pl 2001/09/01 09:03:00 22,459
sub mail_log 

beep.pl 2009/11/16 15:38:26 180

bin2hex02.pl 2006/10/21 16:59:48 3,688
# AIM: Read a file in BINARY format, and prepare
# a hexadecimal display of the results ...
# base on
# bin2hex.pl by Chami.com
# http://www.chami.com/tips/
# added output to log file
# and if language is Perl, add the ASCII after the data
# geoff mclane - october, 2006
# site: http://geoffmclane.com/mperl/index.htm

bits.pl 2008/07/18 20:35:42 1,351
# AIM: Testing bits
use strict; warnings; 
sub prt show_val 

bldctbl.pl 2011/03/25 18:36:46 7,856
# AIM: Very specific processing of a tidy cleaned winword html to a C table
use strict; warnings; File::Basename; Cwd; 
sub show_warnings pgm_exit prtw get_p2br get_i2i get_br2_p process_in_file give_help need_arg parse_args 

bldtable.pl 2007/08/28 13:57:08 11,669
# AIM: Build a link table to ZIP files, in a specific directory
# 27/08/2007 - some enhancements
# (a) Get the LIST of ZIP files from a FOLDER
# 30/07/2006 - geoff mclane - geoffair.net/fg
use strict; warnings; File::Basename; File::stat; Digest::MD5 qw(md5 md5_hex md5_base64); 
sub prth get_description date_string mth_to_num get_zip_files load_descriptions add_if_missing in_exclude get_reference_files check_for_missing modify_references out_htm_head out_htm_tail output_htm_file 

bldtable02.pl 2007/08/28 18:31:06 22,892
# AIM: Build a link table to ZIP files, in a specific directory
# 28/08/2007 - list ZIPS in DATE ORDER
# NOTE WELL: the sub get_zip_txt($zipfile) uses MY PERSONAL zip8.bat to get CONTENTS
# NOTE WELL: This is MY zip listing BAT file, using the WINZIP
# NOTE WELL: command line interface. THIS MUST BE ADJUSTED TO GET EQUIVALENT RESULTS!!!
# 27/08/2007 - some enhancements
# Get the LIST of ZIP files from a FOLDER
# SEE ALSO zipindex03.pl!
# 30/07/2006 - geoff mclane - geoffair.net/fg
use strict; warnings; File::Basename; File::stat; Digest::MD5 qw(md5 md5_hex md5_base64); 
sub prth get_description date_string mth_to_num get_zip_files load_descriptions add_if_missing in_exclude get_reference_files check_for_missing modify_references out_htm_head out_htm_tail get_mo_from_sorted add_top_link output_htm_file mycmp_decend get_zip_txt file_name add_js_script get_nn 

bldziptbl.pl 2010/12/11 18:05:12 16,008
# AIM: Pointed to a FOLDER, search all ZIP files, and tar.gz, and
# build a HTML table with headings - Also see zipindex04.pl...
# Date Link Size MD5
# 11/12/2010 - Add single file input as well...
use strict; warnings; File::Basename; Cwd; Digest::MD5 qw(md5 md5_hex md5_base64); File::stat; File::Spec; Time::HiRes qw( gettimeofday tv_interval ); 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw my_file_type YYYYMMDD get_nn bytes2ks mycmp_decend_n8 process_in_dir get_head_html get_table_begin show_zip_list process_in_file give_help need_arg parse_args 

bldziptbl02.pl 2012/03/12 17:03:04 19,533
# AIM: Pointed to a FOLDER, search all ZIP files, and tar.gz, and
# build a HTML table with headings - Also see zipindex04.pl...
# Date Link Size MD5
# 18/11/2011 - Add
# 24/08/2011 - Allow wild card input
# 02/08/2011 - Some minor fixes
# 06/06/2011 - Extend a single input, to an input list
# 11/12/2010 - Add single file input as well...
use strict; warnings; File::Basename; Cwd; Digest::MD5 qw(md5 md5_hex md5_base64); File::stat; File::Spec; Time::HiRes qw( gettimeofday tv_interval ); 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw my_file_type YYYYMMDD local_get_nn bytes2ks mycmp_decend_n8 mycmp_decend_n1 process_in_dir process_in_file get_head_html get_table_begin show_zip_list give_help need_arg got_wild process_wild add_file_input parse_args 

blog2cmake.pl 2014/03/09 16:07:32 21,175
# AIM: Take an nmake log, and build a CMakeLists.txt from it
# *** THIS FAILED - JUST TOO COMPLICATED, especially with regard to the directory changing
# 08/03/2014 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw starts_with_root strip_root process_lines process_in_file need_arg parse_args give_help 

bob2.pl 2013/05/14 13:33:34 17,746
use Carp; Getopt::Long; LWP::Simple; Math::Trig qw(great_circle_distance great_circle_destination great_circle_bearing deg2rad rad2deg); POSIX; File::Slurp; File::Path qw(make_path remove_tree); 
sub bucket_span tile_index getosmdata cleaner 

booksxml.pl 2006/06/11 19:56:56 3,848
use strict; Cwd; Win32::OLE qw(in with); 
sub show_node wlog prt mydie 

btgvers.pl 2011/11/19 14:44:38 1,708
use strict; warnings; 
sub prt show_help show_header 

bucket.pl 2013/01/09 21:45:06 9,143
# AIM: Give a lat lon, show the bucket
# 09/01/2013 - Add index to lat lon
# 27/09/2011 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file set_int_stg show_bucket process_bucket process_index give_help need_arg parse_args 

builddsp.pl 2013/03/16 21:25:13 23,698
# AIM: Accepts a directory for INPUT
# and a directory for OUTPUT
# and a project TYPE - window, console, static lib, or DLL
# Scan the INPUT for *.c* and *.h* files, and BUILD a 'temp' DSP
# to be placed in the OUTPUT folder, and use all the C/C++ files
# as the sources
# 16/03/2013 - change 'require' lib name form chkincinc.pl to lib_inkinc.pl
# 2009/09/17 - added '# FILE LIST <<EOL' ....... '# EOL' as a SUGGESTED list of SOURCES
# Must ensure these sources are in the MIX...
# 8/15/2009 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; File::Basename; 
sub is_c_source_ext is_h_source_ext mark_in_suggested add_missing_C_suggested add_missing_H_suggested prtw show_warnings get_type_stg is_in_excluded file_has_main file_has_includes scan_directory get_project_hash get_trim_equ get_a_trimed_line load_config_file get_config_hash 

c2h01.pl 2010/09/22 18:10:28 37,537
# AIM: Convert a C/C++ file to HTML, adding color
# 22/09/2010 - review, and improve
# 09/11/2007 - geoff mclane - http://geoffair.net/mperl
use strict; warnings; File::Basename; File::stat; 
sub is_handled out_used_words is_hex_numb is_all_nums add_word process_line process_file is_resword is_directive is_delimiter_not_used add_red add_blue add_comm add_quot add_winword conv_spaces html_line write_head open_pre close_pre append_tail mycmp_decend is_win_word is_not_res_word set_all_debug add_span add_color_table give_help need_arg parse_args 

c2htm.pl 2012/02/20 18:21:26 16,763
# AIM: Convert C/C++ code to colored HTML
# I am sure I have done this before, but where???
use strict; warnings; File::Basename; Cwd; Clipboard; 
sub VERB1 VERB2 VERB5 VERB9 is_in_reswords is_in_builtins load_stx_lines init_reserved_words show_warnings pgm_exit prtw get_class add_comment_span process_in_file give_help need_arg parse_args cpp_stx_txt 

calc-tile.pl 2006/09/05 14:49:56 3,905
use strict; POSIX; 
sub bucket_span format_lon format_lat directory_name tile_index 

caller.pl 2006/09/12 15:11:44 797
# AIM: to test caller function ...
sub thissub thatsub 

camera01.pl 2008/07/18 19:11:40 2,625
# AIM: Obtain digital camer information from web
# 18/07/2008 geoff mclane http://geoffair.net/mperl
use strict; warnings; LWP::Simple; LWP::UserAgent; 

check2cmake.pl 2013/10/02 18:28:59 7,531
# AIM: Quite Specific reading a ./configure log, parsing the 'checking' lines,
# and convert to cmake form...
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_checking show_hdrs process_in_file need_arg parse_args give_help 

checkifd.pl 2009/03/13 15:54:34 1,897
# AIM: To check the openning and closing of #if #ifdef #ifndef #else #endif blocks in a C/C++ file
# 3/13/2009 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; 
sub prt prtw process_file 

chk-srtm.pl 2011/06/07 16:14:40 141,574
# AIM: Given a SRTM block, check if it exists
# 07/06/2011 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub show_warnings pgm_exit prtw get_a_region_list get_region_list process_in_file give_help need_arg parse_args 

chk4incs.pl 2012/05/07 17:07:40 8,145
# AIM: Given a C/C++ files, check for #include <inc.h> or "inc.h" etc, and follow that list
# 07/05/2012 - Initial cut
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw trim_include process_in_file process_in_files give_help need_arg parse_args 

chk4key.pl 2010/09/05 14:51:28 1,844
# AIM: Find a way to POLL the keyboard
# 05/09/2010 - Added seconds waited, and cycles...
# 14/12/2008 geoff mclane http://geoffair.net/mperl
use strict; warnings; Term::ReadKey; 
sub show_hex got_keyboard delay 

chkactri.pl 2013/05/13 13:34:37 8,535
# AIM: Read an AC3D file, and check if ALL surfaces are tri - three vectors
# 11/05/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file need_arg parse_args give_help 

chkatlaspal.pl 2009/01/22 17:49:26 10,803
# AIM: Read Atlas palette file, and list colors, and material,
# and show colors NOT used.
# 22/01/2009
use strict; warnings; 
sub get_YYYYMMDD_hhmmss gen_html_table get_html_head process_mats process_file 

chkbatlabel.pl 2014/06/14 13:00:40 11,908
# AIM: Given a batch file check each 'goto' statement has a corresponding label
# 14/06/2014 - Add verbosity to see labels with no call or goto
# 01/06/2012 - Fix for 'special' goto :EOF label, and [@(] call [:]CHKIT
# 20/05/2012 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw get_goto_label get_call_label is_call_label process_in_file process_in_files has_wild_cards set_input_files need_arg parse_args give_help 

chkbraces.pl 2013/04/08 19:26:17 19,327
use strict; warnings; 
sub VERB1 VERB2 VERB5 VERB9 get_indent process_lines2 process_lines show_hash_ref do_line_count do_brace_list getLines ret_diff get_my_name require_argument give_little_help parse_arguments 

chkcflog.pl 2012/12/06 18:22:06 12,727
# AIM: Read and show details from the cf_client LOG file
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file need_arg parse_args give_help 

chkcmake.pl 2012/05/05 11:51:48 128,361
# AIM: Given an input folder, or input file, follow the CMakeLists.txt files
# 26/04/2012 - If there exists a folder 'CMakeModules' load ALL from here -
# It SEEMS these are AVAILABLE whether a specific 'INCLUDE(modulename)' or NOT is given!
# 22/04/2012 - Some improvements...
# 2012-01-29 - Run in Ubuntu and Windows
# 25/10/2011 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub set_warn_all process_cmake_list process_in_file func_nul VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw path_form clean_action extract_var save_ref_hash_stack restore_ref_hash_stack fix_directory get_cmake_install_paths_ra scan_cmake_path scan_cmake_install_paths is_in_list_operations is_add_library_adjective is_add_executable_adjective string_to_directives_ra not_same_ref_array process_action full_opts_line split_opts_line process_cmake_OPTION_lines process_macro max_out_line do_macro_subs do_subdirectories process_in_dir show_cmake_options show_install_actions show_set_lists show_list_sets show_binary_items show_files_done load_cmake_mod_dir load_installed_cmake need_arg parse_args get_LIST_info get_SET_info get_ADD_LIBRARY_info get_ADD_EXECUTABLE_info get_MACRO_info get_FOREACH_info get_CHECK_CXX_SOURCE_RUNS_info get_FILE_info get_IF_info give_help 

chkcmake02.pl 2014/04/02 19:49:30 44,955
# AIM: Used to develop lib_cmakeread.pl
# 02/05/2012 - Looking quite smooth ;=))
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub get_curr_ref_hash VERB1 VERB2 VERB5 VERB9 show_warnings close_dump dump_cmake pgm_exit prtw get_cmake_install_paths_ra scan_cmake_path get_cmake_common_directory scan_cmake_install_paths is_a_loaded_macro clean_cmake_action cmake_clean_action process_clean_ref_array process_cmake_file process_in_file process_test_file test_load_installed_cmake do_cmake_subdirectories test_lines list_set_items list_list_items get_body list_directives list_macro_items list_function_items set_specific_debug scan_cmake_modules_path process_item process_inputs cmake_parse_if list_if_actions show_new_directives output_list_items write_test_case process_test_case give_help need_arg parse_args 

chkcopies.pl 2013/10/14 17:01:42 6,954
# AIM: Quite Specific - I keep a 'chain' of zip saves, with the appended number
# denotes the next save. List these groups in a directory
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file process_in_dir need_arg parse_args give_help 

chkcss.pl 2013/11/10 21:41:06 10,136
# AIM: Given a CSS file, checks some syntax, and reports missing url items
# 10/11/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw get_token_keys get_brace_props expand_properties process_in_file need_arg parse_args give_help 

chkdae.pl 2013/05/16 20:40:10 25,300
# AIM: Load and review a dae file - COLLADA - http://www.collada.org
# COLLADA defines an XML-based schema to make it easy to transport 3D assets between applications
# 16/05/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; XML::Simple; Data::Dumper; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw write_floats mycmp_id_sort write_meshes process_in_file need_arg parse_args give_help 

chkdbgflag.pl 2010/08/02 12:35:28 3,997
# AIM: VERY SPECIFIC - Check for ($dbg & (\d+))
# 02/08/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub pgm_exit prtw show_warnings strip_comment process_file give_help need_arg parse_args 

chkdbgon.pl 2011/11/04 20:20:36 7,867
# AIM: VERY SPECIFIC : Check all perl scripts for my $debug_on NOT 0
# 04/11/2011 - Do a special check on file in the LIST FILE, if file 'tempzl2.txt'
# if available. This is generated by the zipamupd.bat file...
# 24/08/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; File::stat; 
sub prtw show_warnings pgm_exit begins_with sub_root_dir scan_directory DDMMYYYY scan_scripts load_check_list 

chkdupes.pl 2013/07/10 20:06:55 15,146
# AIM: Read a folder, and subfolders, and check for any duplicate file names
# This is so they can all be put in one folder, if possible
# 07/07/2013 - Tied to reduce the 'duplications' but seem to have failed
# 01/02/2013 - Hopefully fix to run in linux
# 19/11/2011 - Allow first item of two to be a single file
# 18/11/2011 - Fix bug if two folder given - src and dest
# 15/08/2011 - Update...
# 22/07/2008 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::stat; File::Basename; Cwd; 
sub process_folder scan_dir VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw in_exclude_dirs is_excluded_file is_right_type do_one_folder compare_lists show_extensions give_help need_arg parse_args 

chkfgairsize.pl 2010/07/05 15:37:20 16,261
# AIM: VERY SPECIFIC - Scan the given FG data\Aircraft folder for items in
# @air_list, and write a list of all other NOT listed...
# 04/07/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; File::stat; 
sub pgm_exit prtw show_warnings bytes2ks get_nn mycmp_decend mycmp_ascend is_in_list get_missed_list get_dir_size process_aircraft show_ref_hash process_in_folder give_help need_arg parse_args 

chkfgmenu.pl 2010/08/22 13:06:48 13,237
# AIM: VERY SPECIFIC - Check my fgmenu.js, and the compare with the fg folder,
# and report MISSING files - files that need to be added to the menu
use strict; warnings; File::Basename; Cwd; File::DosGlob 'glob'; 
sub pgm_exit prtw show_warnings get_file_list compare_to_menu compare_to_qlmenu check_excludes compare_to_index 

chkgdal.pl 2012/06/27 19:07:52 18,166
# AIM: VERY SPECIFIC scan of bldlog file after gdal build
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw scan_dir find_matching_dir find_matching_file sub_src_dir get_flags_and_source in_excluded_defines process_in_file need_arg parse_args give_help 

chkhlink1.pl 2011/11/08 13:12:40 27,514
# AIM: Given a input FOLDER, check all the HTML found for a <a href="...."
# reference and make sure that reference EXISTS,
# either as a LOCAL file,
# or that an IP address can be obtained for the HOST if http://<something> ...
# 08/11/2011 - Account for my space saving like fgfs-src.zip is only as fgfs-src.zip.txt
# 15/09/2011 - Add -d = Directory scan, show unlinked items. In this also added
# searching HTML for <link href="..." ...>, and <img src="..."...>
# and switched to using lib_utils.pl
# 08/09/2011 - Write temporary results ONLY to 'perl' directory
# 02/08/2011 - Lots of updates of the UI
# 31/05/2007 - geoff mclane - geoffair.com/mperl/index.htm
use strict; warnings; File::Basename; Socket; File::Spec; 
sub VERB1 VERB2 VERB5 VERB9 get_type_href show_warnings pgm_exit prtw showIPAddress add_2_scripts get_href_srcs add_href_src add_link_href_srcs add_img_src add_img_href_srcs is_my_ext is_fp_folder mark_file_referenced scan_directory process_folder add_in_folders process_in_files process_http_refs process_scripts process_missed give_help need_arg parse_args 

chkhlinks.pl 2007/06/01 19:54:36 8,846
# AIM: Given a input FOLDER, check all the HTML found for a <a href="...."
# reference and make sure that reference EXISTS,
# either as a LOCAL file,
# or that an IP address can be obtained for the HOST if http://<something> ...
# 31/05/2007 - geoff mclane - geoffair.com/mperl/index.htm
use strict; warnings; File::Basename; Socket; 
sub showIPAddress add_2_scripts get_href_srcs parse_args is_my_ext is_fp_folder process_folder 

chkhsrc.pl 2007/06/02 12:54:32 5,486
# AIM: Given a input FOLDER, check all the HTML found for a <img src="...."
# reference and make sure that reference EXISTS ...
# 31/05/2007 - geoff mclane - geoffair.com/mperl/index.htm
use strict; warnings; File::Basename; 
sub check_images get_img_srcs parse_args is_my_ext is_fp_folder process_folder 

chkhtml.pl 2012/02/23 20:33:22 12,309
# AIM: Just parse HTML elements, and report any problem
# 2010/04/06 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; File::Basename; Cwd; 
sub pgm_exit prtw show_warnings is_closed_tag is_opt_tag can_find_this_tag is_all_optional show_stack_elements get_element_chain process_file give_help parse_args 

chkifdef.pl 2013/08/04 15:13:40 16,351
# AIM: Scan a file or a directory, and check all files for #ifdef ????, and list them...
# 04/08/2013 - Output if stack count for each line output
# 30/05/2012 - Update UI
# 2009/09/17 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub process_dir VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw sub_root_name trim_comments_from_line add_2_hash parse_defines_in_line process_files show_hash process_inputs need_arg parse_args give_help 

chkinclist.pl 2009/08/27 17:38:16 3,007
# AIM: VERY SPECIFIC - read MSVC 'include' list found, and analyse
# 8/27/2009 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; File::Basename; 
sub process_file 

chkinstall.pl 2014/03/28 21:00:26 9,917
# AIM: Read a cmake_install.cmake file, and list what will be 'installed' if run...
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file not_complete_cmake_line split_cmake_line need_arg parse_args give_help 

chkintlinks.pl 2008/11/28 19:27:32 10,980
# AIM: Given a HTML file, check for <a name="abc"...> and <a href="#abc"...>
# are consistent
# 13/11/2008 - geoff mclane - http://geoffair.net/mperl
use strict; warnings; File::Basename; 
sub is_my_file_type html_to_lines process_file process_directory prtw show_warnings 

chkjsac.pl 2013/05/10 15:26:33 20,698
# AIM: Read a the javsscipt file generated from an AC3D file, and...
# 07/05/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw isBitSet show_type_flag check_faces process_in_file process_in_files need_arg parse_args give_help get_threejs_json_parse 

chkjsac02.pl 2013/05/10 20:02:10 26,552
# AIM: Read a the javsscipt file generated from an AC3D file, and...
# 10/05/2013 - Begin to use the JSON parser
use strict; warnings; File::Basename; JSON; Data::Dumper; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw isBitSet show_type_flag check_faces show_json_threejs process_in_file process_in_file_DIRECT process_in_files need_arg parse_args give_help get_threejs_json_parse 

chkjson.pl 2014/03/01 20:31:14 36,350
# AIM: Read a JSON file, and re-line it and output
# 01/03/2014 - Do NOT add space when joining lines
# 13/02/2014 - Reduce moise if NOT Three.js
# 21/06/2013 - More checks IFF it is a Three.js JSON file
# 06/03/2013 - Added batch file to run it
# 26/12/2012 - Add some default test code
use strict; warnings; File::Basename; File::Spec; Cwd; JSON; Data::Dumper; Time::gmtime; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw get_test_json reline_json reline_json_OK show_metadata isBitSet show_type_flag scan_face_array show_json_threejs process_in_file need_arg parse_args give_help 

chklib.pl 2009/09/27 15:50:24 6,379
# AIM: VERY SPECIFIC - check LIBCMT or LIBCMTD in library
# Uses my 'fa4' utitlity
use strict; warnings; Cwd; File::Basename; 
sub prtw show_warnings check_lib process_libs check_contents 

chklink.pl 2010/04/20 15:39:16 3,991
# AIM: Develop a method to CHECK a URL link ...
# 2010/04/19 - some minor tidying only...
# 23/08/2007 geoff mclane geoffair.net/mperl
use strict; warnings; Socket; LWP::Simple; 
sub Get_Host_Name Get_Domain_Name Get_URL_Text_Count showIPAddress process_url_list 

chklinklog.pl 2012/11/11 18:23:07 30,279
# AIM: Check the Link: entry of the MSVC10 'log' file
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw line_has_bom remove_utf_bom load_file_lines process_in_file show_file_hash need_arg parse_args give_help 

chklinks01.pl 2007/06/18 11:43:12 39,402
# AIM: Given a input FOLDER, check all the HTML found for a <a href="...."
# reference and make sure that reference EXISTS,
# either as a LOCAL file,
# or that an IP address can be obtained for the HOST if http://<something> ...
# AND check ALL image links <img src="..."...>, if it is a LOCAL file,
# and other 'link' items, like .zip, .txt, etc.
# 02/06/2007 - geoff mclane - geoffair.com/mperl/index.htm
use strict; warnings; File::Basename; Socket; 
sub process_file_array get_href_type get_local_href dos_2_unix in_done_srcs in_done_imgs fix_rel_unix_path mark_image_link mark_other_links mark_link show_link_counts in_excused check_local_links check_linkages check_images get_img_srcs check_hrefs showIPAddress add_2_scripts get_href_srcs parse_args is_my_ext is_htm_ext is_graphic_ext is_zip_ext is_css_ext is_txt_ext is_script_ext is_fp_folder in_excludes process_folder show_found_counts in_ips_found process_host_array 

chklinks02.pl 2008/07/02 19:38:16 51,322
# AIM: Given a input FOLDER, check all the HTML found for a <a href="...."
# reference and make sure that reference EXISTS,
# either as a LOCAL file,
# or that an IP address can be obtained for the HOST if http://<something> ...
# AND check ALL image links <img src="..."...>, if it is a LOCAL file,
# and other 'link' items, like .zip, .txt, etc.
# 18/06/2007 - Add some command parameters, and help
# 02/06/2007 - geoff mclane - geoffair.com/mperl/index.htm
use strict; warnings; File::Basename; Socket; 
sub process_file_array get_href_type get_local_href dos_2_unix in_done_srcs in_done_imgs fix_rel_unix_path add_new_link mark_image_link mark_other_links mark_link show_link_counts in_excused check_local_links offset_done trace_from_htm get_offset_of_htm get_home_offset check_linkages check_images get_img_srcs check_hrefs showIPAddress add_2_scripts get_href_srcs is_my_ext is_htm_ext is_graphic_ext is_zip_ext is_css_ext is_txt_ext is_script_ext is_fp_folder in_excludes in_spl_excludes process_folder show_found_counts in_ips_found process_host_array show_startup show_help require_arg parse_args secs_2_hhmmss show_time 

chklinks03.pl 2013/10/17 15:36:29 114,776
# AIM: Given a input FOLDER, check all the HTML found for a <a href="...."
# reference and make sure that reference EXISTS, either as a LOCAL file,
# or that an IP address can be obtained for the HOST if http://<something> ...
# AND check ALL image links <img src="..."...>, if it is a LOCAL file,
# and other 'link' items, like .zip, .txt, etc.
# 17/10/2013 - Default is to follow page links. Added -nofollow to only do the page
# 22/05/2011 - More tidying, reducing output to 'essentials' unless -v2 or more
# 19/05/2011 - Fix of 20100312 fix, to find substitutes '.txt' files
# 02/04/2010 - Some more 'fixes' - continue 2010/04/04 - 2010/04/12...
# 2010/04/01 - Fix for 'remove_script' - to move to htmltools.pl
# 15/03/2010 - After a number of 'fixes', starting to feel SOLID ;=))
# 12/03/2010 - Special case - I have replaced large ZIPS, with a TEXT
# file, so do NOT give this WARNING, if such a .txt file exists.
# 11/03/2010 - Lots of tidying, and fixing... experimented with another collecthrefs2
# but found only difference is in the DUPLICATE that can be in htmltools::collecthrefs
# 13/11/2008 - some tidying, especially when from ONE FILE
# where there will be NO from|to references
# 18/06/2007 - Add some command parameters, and help
# 02/06/2007 - geoff mclane - geoffair.com/mperl/index.htm
use strict; warnings; File::Basename; File::Spec; Socket; Cwd; 
sub set_debug_val set_debug_on set_debug_off mark_link trace_from_htm process_folder is_same_file mark_dir_link is_htm_file_ext pgm_exit show_warnings prtw u2d VERB1 VERB2 VERB5 VERB9 sub_common_folder_dos sub_in_folder is_def_index_file is_link_type_file show_startup is_in_array_ref0 is_in_array_ref get_anchor_hash_ref collecthrefs2 secs_2_hhmmss show_time test_remove_script dropscripts_from_array process_file_array get_href_type get_local_href dos_2_unix in_done_srcs in_done_imgs fix_rel_unix_path add_new_link mark_image_link mark_other_links seek_dir_index_file get_links_stg show_link_counts in_excused check_local_links offset_done get_offset_of_htm get_home_offset check_linkages check_images get_img_srcs get_text_sub check_hrefs checkIPAddress getIPAddress show_uri_ip add_2_scripts get_href_srcs is_this_extent is_htm_ext is_graf_ext is_zip_ext is_css_ext is_txt_ext is_script_ext is_graphic_file_ext is_zip_file_ext is_css_file_ext is_txt_file_ext is_script_file_ext is_fp_folder is_xclude_folder in_excludes in_spl_excludes show_found_counts in_ips_found trim_href get_host_link get_host_link13 get_host_link4 get_domain_name show_remote_links process_host_array write_missing show_scripts show_dir_files show_help require_arg parse_args 

chklists.pl 2011/04/27 02:06:10 6,145
# AIM: VERY SPECIFC - scan two lists...
use strict; warnings; File::Basename; Cwd; 
sub show_warnings pgm_exit prtw process_in_file give_help need_arg parse_args 

chklocal.pl 2012/08/20 16:34:46 13,567
# AIM: Read a fgms log, and check if there are any LOCAL pilots
# 04/08/2012 - First cut
use strict; warnings; File::Basename; Cwd; Time::HiRes qw(gettimeofday tv_interval); Date::Calc qw(Week_of_Year); Time::gmtime; Time::Local; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw set_max clear_clients get_time_stamp process_in_file secs_to_DAYS_HHMMSS show_stats need_arg parse_args give_help 

chklog.pl 2011/06/01 20:13:26 4,223
# AIM: VERY SPECIFIC - read a log lokking for specific things...
use strict; warnings; File::Basename; Cwd; 
sub show_warnings pgm_exit prtw process_in_file give_help need_arg parse_args 

chkmain.pl 2010/07/07 16:01:04 9,743
# AIM: Read a C/C++ file and check for main()
# 2010-07-07 - Some tidying when used in makesrcs.pl
# 20090911 - version 2 with output indicator
# 20090828 - check for quotes "...", and only WARN if could have been in quotes
# 21/11/2007 - geoff mclane - http://geoffair.net/mperl
# check_for_main - check for main()
sub chkmain2 chkmain chk_main 

chkmanifest.pl 2008/08/07 13:39:30 2,092
# AIM: Given a MANIFEST file, check that the directory structure and files
# within match that manifest ...
# 07/08/2008 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; 
sub unix_2_dos process_file 

chkos.pl 2011/05/22 17:09:50 207
# AIM: Just output the OS string...
use strict; warnings; 
sub prt 

chkosgver.pl 2008/09/16 14:15:36 1,888
use strict; warnings; 

chkoutput.pl 2009/09/25 15:20:42 3,255
# AIM: VERY SPECIFIC - check the MSVC output for 'unknown' lines...
# 2009/09/25 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; 
sub ignore_output_line process_file 

chkpath.pl 2007/12/01 21:12:54 1,836
# AIM: Find a file using the PATH environment variable ...
# 01/12/2007 - geoff mclane - geoffair.net/mperl
use strict; warnings; 
sub prt mydie unix_2_dos parse_args strip_quotes 

chkpath2.pl 2014/05/21 12:57:04 2,800
use strict; warnings; 
sub VERB1 VERB2 VERB5 VERB9 prt add_escape same_dir 

chkperl.pl 2010/05/01 15:11:34 21,129
# AIM: Rought attempt to find an error in perl syntax
# 04/11/2009 - more tries at being helpful
# 2009/10/29 - some updates, and changes
# 9/1/2009 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; 
sub prtw show_warnings pgm_exit get_space_indent YYYYMMDD2 show_brace_stack process_file give_help parse_args 

chkpylons.pl 2010/03/02 19:31:52 8,354
# AIM: Read FG DATA 'STG' file, and use sggeod.exe to get distance between pylons
# very specific
# 2010/03/02 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; File::Basename; Cwd; 
sub pgm_exit prtw show_warnings process_file process_ref_hash show_pairs 

chkquotes.pl 2012/04/26 17:26:49 5,552
# AIM: Parse a file, and advise ANY line which ends without closing QUOTES "'" or '"'
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file give_help need_arg parse_args 

chkrefs.pl 2013/06/28 20:47:56 5,362
# AIM: VERY SPECIFIC: Read in a BIG list of 'refs n', and delete all refs 3 and 4
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file need_arg parse_args give_help 

chkrelpath.pl 2008/10/30 21:25:22 5,228
# AIM: Just to test and check the relative path generation
use strict; warnings; 
sub chk_get_relative_path chk_get_rel_dos_path 

chkrequire.pl 2012/05/10 12:42:25 9,537
# AIM: Givin an input perl script file name, search for files 'required' by that script
# 10/05/2012 - Improve UI
# 2010-08-14 - Initial cut
use strict; warnings; File::Basename; File::Spec; File::stat; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 pgm_exit prtw show_warnings mycmp_ascend_n2 mycmp_ascend_n1 mycmp_ascend_n0 process_file do_test need_arg parse_args give_help 

chkrt.pl 2011/09/11 19:27:00 99,508
# AIM: Check the RUNTIME of -
# DSW set of files MSVC6
# DSP single file MSVC6
# SLN set of files MSVC7 or 8
# vcproj single file MSVC7 or 8
# 11/09/2011 - When changing the RUNTIME, write a batch file to do the COPY of the NEW...
# and add the ability to CHANGE the 'CharacterSet' ="1" for UNICODE, ="2" for Multibyte, ="0" for Not set
# 19/08/2011 - Add --depends (-d) switch, to show dependents
# 17/08/2011 - Add file name to 'RuntimeLibrary NOT FOUND!' warning, and EXCLUDE some OSG cmake vcproj files
# 22/04/2011 - Added 0 => 'MAKEFILE', # 20110422 - added this type
# 03/04/2011 - Add ConfigurationType output, shown if -v1, plus other displays if v2,5,9 (for vcproj)
# 10/03/2011 - Add wild card input, like *.sln, or *.dsp
# 11/08/2010 - Added File::Spec->rel2abs to convert any relative input to absolute
# 03/07/2010 - For vcproj at least, show OutputFile=
# 08/06/2010 - Just a little tidying, and UI enhancements...
# 14/11/2008 - Add show of sources, and add and use prtw();
# 24/09/2007 - Also SHOW output file ...
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 prtw show_warnings pgm_exit space_split_local is_osg_excluded show_sources process_dsw process_dsp process_sln fix_lib_list process_vcproj_file_NOT_USED modify_vcproj_runtime get_configurationtype process_vcproj unix_2_dos fix_rel reline_xml xml_to_lines rt_2_switch chkrt_strip_quotes expand_mac do_if_split flip_state clear_per_dsp get_runtime get_rtnum get_hyphen_split get_space_split_2 change_the_runtime get_cpp_defines get_cpp_incdirs get_link_libs get_link_dirs load_dsp trim_tail show_runtimes show_rthash process_files elim_debug_versions show_depends write_copy_bat give_help has_wild match_with_wild matches_wild add_this_file expand_wild parse_args 

chkwebsrc.pl 2010/12/30 16:08:40 8,511
# AIM: SPECIFIC - Compare the soures published on the my web, with the original,
# and report changes...
# 29/12/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; File::stat; Time::gmtime; 
sub show_warnings pgm_exit prtw get_YYYYMMDD_hhmmss_UTC process_in_file get_html_list process_web_dir process_src_dir give_help need_arg parse_args 

chkxml.pl 2010/01/29 15:40:30 21,831
# AIM: Given an XML file, test it - a SIMPLE test
# 27/01/2010 - add BOM support, even GUESSING when no BOM!!!
# 23/01/2010 - update many many things,
# but still does NOT handle UTF-16 encloded files - see below
# 15/11/2008 - geoff mclane - http://geoffair.net/mperl
use strict; warnings; 
sub pgm_exit prtw show_warnings prtv has_utf_16_BOM get_attrs_ref search_harder process_xml_line_array process_xml_file process_xml_files give_help set_verbosity parse_args 

chkxml2.pl 2012/05/06 15:21:27 17,166
# AIM: Given a directory, check ALL xml files
# (a) for a BOM, and (b) for xml character encoding
use strict; warnings; File::Basename; File::stat; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw line_has_bom remove_utf_bom process_in_dir local_xml_to_lines local_array_2_hash_on_equals do_xml_file process_xml_files show_stats give_help need_arg parse_args 

chkziptxt.pl 2011/11/08 15:31:40 9,744
# AIM: Read an input file as a ZIP.TXT - a text listing of a big ZIP file
# Quite specialised, in that this file MUST contain MY MD5 output exactly
# 08/11/2011 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; Time::Local; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw is_in_excluded is_zip_ext is_html_ext is_txt_ext is_zip_file is_html_file datetime_to_seconds is_zip_text_file process_in_file give_help need_arg got_wild parse_args 

cleandiff.pl 2008/11/02 16:42:32 2,406
# AIM: To remove some things from an input diff file ...
# 1 - remove Only in blah blah ...
# 2 - remove diff of .dsp files ...
# and write results to an output file
# 11/2/2008 geoff mclane http://geoffair.net/fg
use strict; warnings; 
sub give_help parse_args prt process_file 

cleandiff02.pl 2013/12/02 13:23:55 36,672
# AIM: To remove some things from an input diff file ...
# 1 - remove Only in blah blah ...
# 2 - remove diff of .dsw, .dsp, .sln, .vcproj files ...
# and write results to an output file
# 02/12/2013 - Add -x *.html;*.sip list of wild card excludes
# 22/09/2013 - Add a -KO to add ALL 'Only in ...' lines
# 05/09/2013 - Modify -ko options to NOT show .git folder items, and order the list
# 11/02/2013 - Default output changed to tempclean.diff
# 28/03/2012 - Add .vcxproj to excluded list
# 23/03/2012 - Add -u to convert paths to unix path speparator
# 05/01/2012 - Added special -x _cmake_, and excluded file '.gitignore'
# 10/12/2011 - If VERB, output a changed file list
# 17/11/2011 - Add -o <file>, to set the OUTPUT of the cleaned diff
# 29/06/2011 - Add -x <file>, to exclude a specific 'file' from the diff
# 26/05/2011 - Improve UI
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 get_common_dir get_common_dst get_common_src match_with_wild matches_wild has_wild in_user_excludes in_dir_excludes prtw show_warnings pgm_exit is_msvc_file is_excluded_file is_repo_dir get_diff_files get_counts process_file write_out_lines show_changed_files load_input_file need_arg local_strip_both_quotes parse_args give_help 

cleanhtm.pl 2006/09/09 17:02:36 1,996
# AIM: To clean certain items from a HTML document ...
use strict; 

cleanhtm02.pl 2006/10/03 18:47:40 16,409
# AIM: To clean certain items from a HTML document ...
# specifically target microsoft word 'filtered' output which uses a
# paragraph style which places every line in a <p> ... </p>,
# and to denote REAL paragraphs, inserts a <p>&nbsp;</p> line ...
# Thus to remove some of the <p>, using a <br> to get to a new line ...
use strict; 
sub prt_para_list check_my_xml in_xml_range vv_in_xml_range show_xml_list get_para_list process_style get_the_style write_out_file get_next_tag inline_paras check_for_word general_adjustments trimall add_my_style 

cleanhtm03.pl 2006/10/04 13:35:18 18,593
# AIM: To clean certain items from a HTML document ...
# specifically target microsoft word 'filtered' output which uses a
# paragraph style which places every line in a <p> ... </p>,
# and to denote REAL paragraphs, inserts a <p>&nbsp;</p> line ...
# Thus to remove some of the <p>, using a <br> to get to a new line ...
use strict; 
sub short_text prt_para_list check_my_xml in_xml_range vv_in_xml_range show_xml_list get_para_list process_style get_the_style write_out_file get_next_tag inline_paras check_for_word general_adjustments trimall add_my_style 

cleaninstall.pl 2013/03/16 20:30:36 8,242
# AIM: QUITE SPECIALIZED During the install to the 3rdParty folder, a copy of what has
# been installed is written to say C:\FG|17\3rdParty\installed.txt
# But multiple builds of a project adds multiple set of that project to this file
# This script reads the files, and attempts to remove 'duplicates'
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file need_arg parse_args give_help 

cleantd01.pl 2006/10/24 12:41:20 5,772
# AIM: To clean certain items from a HTML document ...
# specifically target microsoft word 'filtered' output.
# Search for 'tables', and remove 'style' attribute from <td>,
# and '<p ...></p><o:p></o:p> and <span> from within ...
use strict; 
sub short_text write_out_file check_for_word get_tag trim_tail del_td_style make_adjustments trimall 

cleanup.pl 2005/11/24 13:48:38 4,708
# AIM: To build a CLEANUP batch file
# for a DIRECTORY ...
# Presently no input - you must adjust the my_folder variable
# Only searches for targets directories containing -
# *.obj or *.sbr or *.idb or *.pdb or *.ncb or *.opt
# and temp*.* - with one exception is the 'CVS' directory 'Template' file
# Uses a CLOBNOW.BAT file to do the cleanup in a folder
# Uncomment write_clobnow2 below to write this batch file,
# which obviously HAS to be renamed to 'clobnow.bat', and
# put in a VALID runtime PATH ...
sub process_dir write_clobnow2 

cleanup02.pl 2008/07/12 18:16:26 3,913
# AIM: Given an input folder, search for where there exists object files,
# and clean these up using a special CLOBNOW batch file ...
# This is a re-write - See cleanup.pl for previous version
# 12/07/2008 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub unix_2_dos is_in_list_nc is_fp_folder is_my_file add_if_not_repeat process_folder 

client1.pl 2005/05/05 16:51:04 1,070
use strict; Socket; 

client2.pl 2005/05/05 16:43:42 952
use IO::Socket::INET; 

client5.pl 2006/11/03 19:42:26 1,006
use IO::Socket; 
sub sendrcv 

client6.pl 2011/09/24 19:47:28 600
use strict; warnings; IO::Socket; 

clipboard01.pl 2011/08/03 12:51:26 314
# AIM:
use strict; warnings; Clipboard; 
sub prt 

cmakebins.pl 2013/05/22 14:19:22 13,817
# AIM: Given a CMakeLists.txt file, or a directory, show add_library, and add_executable
# items found...
# 22/05/2013 - some improvements like show line numbers where fix should happen
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw full_cmake_line process_cmake_file process_in_file_NEW process_in_file my_file_type process_in_dir process_in_items show_fixes need_arg parse_args give_help 

cmakebuilds.pl 2014/05/24 18:34:29 8,987
# AIM: Read a CMakeLists.txt file, and show what it builds
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file full_cmake_line need_arg parse_args give_help 

cmakeconfig.pl 2012/11/12 17:48:16 6,082
# AIM: Convert a 'config.h' to a CMake config.h.cmake
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_lines process_in_file need_arg parse_args give_help 

cmakeopts.pl 2014/03/08 18:56:46 23,080
use strict; warnings; File::Basename; File::Spec; Cwd; File::stat; 
sub VERB1 VERB2 VERB5 VERB9 process_dir prtw show_warnings pgm_exit my_file_type full_opts_line full_fe_line split_opts_line show_cmake_options escape_regex process_cmake_lines do_replacements process_file mycmp_decend process_input need_arg process_args give_help 

cmakesrcs.pl 2013/07/13 15:51:43 7,610
# AIM: Given a folder, follow the CMakeLists.txt trail, and list projects and source
# 13/07/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_one_file get_sub_dir strip_brackets process_the_file need_arg parse_args give_help 

cmp2dsps.pl 2009/10/27 21:37:54 42,487
# AIM: Comparison of TWO DSP files - show different SOURCE files only ...
# 20090828 - BUG squashed ;=)) This was '$i1', which is WRONG $v6_srcs2[$i2][4] = $i1 + 1;
# 20090827 - Some improvements in configuration compare
# 13/08/2008 geoff mclane http://geoffair.net/mperl
# Only compares SOURCE lists. Still to compare config parameters ...
use strict; warnings; File::Basename; File::stat; 
sub clear_load process_DSP fix_rel_path is_c_source is_h_special is_h_source compare_defines_for not_in_arrayi ensure_unique space_split_with_quotes cmp_sw_hashes compare_configs_for show_link_diff show_link_diff_simp get_dsp_block compare_dsp_with_dsp is_same_source_file is_same_file unix_2_dos sub_common_folder set_dbg_show_sources prtw show_warnings 

cmp2dsps02.pl 2010/07/04 18:35:08 60,789
# AIM: Comparison of TWO DSP files - show different SOURCE files, and configurations...
# 04/07/2010 - Make the MISSED1: output list, ready for DSP insertion
# 02/06/2010 - Do better compare of CONFIGS...
# 2010/05/08 - Kill get_rel_path() warning, by ensuring $dir is set correctly...
# 2010/01/14 - Reduce output to MINIMUM, unless 'verbose' set...
# 2009/10/28 - Use references, and add a command line
# 20090828 - BUG squashed ;=)) This was '$i1', which is WRONG $v6_srcs2[$i2][4] = $i1 + 1;
# 20090827 - Some improvements in configuration compare
# 13/08/2008 geoff mclane http://geoffair.net/mperl
# Only compares SOURCE lists. Still to compare config parameters ...
use strict; warnings; File::Basename; File::stat; Cwd; 
sub VERB1 VERB2 VERB3 VERB4 VERB5 VERB9 is_same_source_file prtw show_warnings pgm_exit unix_2_dos clear_load split_rsc_items combine_rsc_items process_DSP fix_rel_path1 c2_is_c_source c2_is_h_special c2_is_h_source compare_defines_for not_in_arrayi not_in_arrayi_2r ensure_unique space_split_with_quotes cmp_sw_hashes compare_configs_for show_link_diff show_link_diff_simp get_dsp_block get_file_type compare_dsp_with_dsp is_same_file sub_common_folder set_dbg_show_sources give_help parse_args 

cmp2dsps03.pl 2012/04/05 12:23:19 69,418
# AIM: Comparison of TWO DSP files - show different SOURCE files, and configurations...
# 05/04/2012 - add -vN
# 07/01/2011 - small fix in space_split_with_quotes to add last item, if any...
# 26/09/2010 - Review, and improve - add use File::Spec; to convert relative inputs to absolute
# 04/07/2010 - Make the MISSED1: output list, ready for DSP insertion
# 02/06/2010 - Do better compare of CONFIGS...
# 2010/05/08 - Kill get_rel_path() warning, by ensuring $dir is set correctly...
# 2010/01/14 - Reduce output to MINIMUM, unless 'verbose' set...
# 2009/10/28 - Use references, and add a command line
# 20090828 - BUG squashed ;=)) This was '$i1', which is WRONG $v6_srcs2[$i2][4] = $i1 + 1;
# 20090827 - Some improvements in configuration compare
# 13/08/2008 geoff mclane http://geoffair.net/mperl
# Only compares SOURCE lists. Still to compare config parameters ...
use strict; warnings; File::Basename; File::stat; File::Spec; Cwd; 
sub ds_get_dbg_val_var ds_get_dbg_var ds_set_dbg_var ds_get_dbg_range ds_get_dbg_stg VERB1 VERB2 VERB3 VERB4 VERB5 VERB9 is_same_source_file prtw show_warnings pgm_exit unix_2_dos clear_load split_rsc_items combine_rsc_items process_DSP fix_rel_path1 c2_is_c_source c2_is_h_special c2_is_h_source compare_defines_for not_in_arrayi not_in_arrayi_2r ensure_unique space_split_with_quotes cmp_sw_hashes compare_configs_for show_link_diff show_link_diff_simp get_dsp_block get_file_type compare_dsp_with_dsp is_same_file sub_common_folder set_dbg_show_sources do_sanity_check show_dbg_ranges show_dbg_help ds_set_all_dbg_on ds_set_all_dbg_off ds_set_max_debug_on need_arg parse_args give_help 

cmp2dsw.pl 2010/10/01 12:42:42 8,545
# AIM: Compare 2 DSW files
# 29/09/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub show_warnings pgm_exit prtw get_anon_dep get_DSW_hash compare_h1_with_h2 process_in_files give_help need_arg parse_args 

cmpapfreqs.pl 2013/09/07 18:28:13 41,747
# AIM: Give two apt.dat files, collect and compare frequencies listed for each airport
# handle 850 and 1000 apt.dat formats
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file load_ap_file in_world_range mycmp_ascend_a1 process_810_lines process_1000_lines compare_freq_ra compare_ap_ref_hashs load_ap_files need_arg parse_args give_help 

cmparrays.pl 2009/12/10 12:54:18 6,229
# AIM: VERY SPECIFIC - load a log file, and compare triangle listings
# 09/12/2009 geoff mclane http://geoffair.net/mperl
use strict; warnings; 
sub process_file compare_very_near find_closest_point show_ref_arr 

cmpcomp.pl 2008/05/09 17:15:32 4,001
# AIM: Compare tow compiler strings ...
use strict; warnings; 
sub get_comp_arr 

cmpconfigs.pl 2009/08/21 18:24:10 6,856
# AIM: Compare 2 config files...
# 8/21/2009 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; 
sub drop_comments is_config_other out_hash_list load_cfg_file compare_2_hashes YYYYMMDD 

cmpdefines.pl 2010/01/01 20:46:38 10,789
# AIM: Compare TWO header files, and list and compare the #defines in each ..
# 2010/01/01 - Revisited, and updated...
# 01/06/2008 - Initial try - geoff mclane - http"//geoffair.net/mprerl ...
use strict; warnings; 
sub pgm_exit give_help VERB1 VERB2 VERB3 VERB4 VERB5 VERB9 process_files parse_args 

cmpdirs.pl 2008/11/01 19:35:12 5,298
# AIM: A simple COMPARE of the files in one directory, with those in another
# 01/11/2008 - geoff mclane - http://geoffair.net/mperl
use strict; warnings; File::Basename; 
sub compare_entries load_directory is_in_array_nc prtw show_warnings 

cmpdirs02.pl 2011/12/03 18:56:30 10,798
# AIM: Complete re-write of cmpdirs.pl
use strict; warnings; File::Basename; File::Spec; Cwd; File::stat; 
sub load_directory VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file is_in_array_nc compare_dirs process_dirs give_help need_arg parse_args 

cmpdist.pl 2010/11/20 16:57:18 4,680
# AIM: Use perl trib function for distance London to Tokyo...
# from : http://perldoc.perl.org/Math/Trig.html
use strict; warnings; Math::Trig qw(great_circle_distance great_circle_direction deg2rad rad2deg); 
sub NESW show_sg_distance_vs_est show_distance get_hhmmss 

cmpexports.pl 2009/07/09 20:08:24 1,635
# AIM: Given two DLL files, run 'dumpbin /EXPORTS <DLL>' on each,
# and compare the results...
# 7/9/2009 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; Cwd; 

cmpfgpl.pl 2008/11/21 20:01:18 6,319
# AIM: Specialized to COMPARE two folders
# 21/11/2008 geoff mclane http://geoffair.net/mperl
# localtime() - a 9-element array with the time analyzed for the local time zone
# my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
#@f = (localtime)[3..5]; # grabs day/month/year values
# printf "%02d/%02d/%02d\n", $f[2] + 1900, $f[1] +1, $f[0] ;
use strict; warnings; File::stat; 
sub show_missing get_YYYYMMDD_hhmmss get_diff_text compare_files compare_perl_files parse_args prtw show_warnings 

cmpicao.pl 2014/02/22 14:58:57 11,034
# AIM: *** VERY SPECIFIC *** Compare 3 different ICAO list
use strict; warnings; File::Basename; Cwd; JSON; Data::Dumper; Time::gmtime; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_dir process_in_file_all process_in_file_csv process_in_dir compare_arrays need_arg parse_args give_help 

cmpini.pl 2009/12/30 20:03:28 12,818
# AIM: Compare 2 INI files, showing same, different and missing items ...
# 30/12/2009 - minor update
# 19/02/2008 geoff mclane http://geoffair.net/mperl
use strict; warnings; 
sub pgm_exit give_help sectionin2 itemin2 item3in2 process_files parse_args 

cmpphonebooks.pl 2013/08/31 16:56:59 26,036
# AIM: QUITE specific - compare phone books used by fgcom
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file is_freq load_phonebooks same_base_freq same_base_type same_base_name same_base_num compare_phonebooks process_in_files need_arg parse_args give_help 

cmppositions.pl 2013/08/26 16:25:10 16,647
# AIM: QUITE specicific compare two fgcom positions.txt file
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file load_pos_file show_freq_dist process_in_files need_arg parse_args give_help 

cmptriangles.pl 2009/12/06 19:33:52 8,218
# AIM: VERY SPECIFIC - load a log file, and compare triangle listings
# 06/12/2009 geoff mclane http://geoffair.net/mperl
use strict; warnings; 
sub get_lat_lon process_file compare_very_near not_a_triangle show_ref_arr 

cmpvc8todsp.pl 2008/05/27 14:28:14 25,403
# AIM: Load a VC8 project file (.VCPROJ), and compare it with a VC6 DSP (.DSP) file,
# and SHOW different sources ...
use strict; warnings; File::Basename; 
sub process_DSP get_xml_tag tag_typ_2_stg get_tag_typ get_app_type get_xml_sources mystricmp compare_proj_with_dsp is_same_DOS_file fix_rel_path is_c_source is_h_special is_h_source prtw show_warnings 

cmpvcprojs.pl 2008/08/16 13:33:42 17,230
# AIM: To compare two VCPROJ files, and list -
# (a) the different source, either added or deleted, and
# (b) the differenct libraries, for both Debug and Release ...
# This implementation was based on the code from vcprojlist.pl, and sln2dsw.pl
# If given SOLUTION file (*.SLN), then each prject contained, will be compared.
# 07/03/2008 - geoff mclane - http://geoffair.net/mperl/samples
use strict; warnings; File::Basename; 
sub unix_2_dos get_rel_path space_split array_2_hash_on_equals process_xml_lines is_vcproj is_solution strip_quotes fix_rel_path process_SLN load_xml_lines prtw show_warnings 

cmpvcprojs02.pl 2010/05/19 15:35:56 12,212
# AIM: This is a COMPLETE rewrite of cmpvcprojs.pl
# Just to load, and compare two vcproj files
# 2010/04/23 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; File::Basename; Cwd; 
sub pgm_exit prtw show_warnings compare_vc_hashes compare_files give_help parse_args 

cnthgt.pl 2014/05/21 13:32:23 12,311
# AIM: *** VERY SPECIALISED *** Just count some HGT files in a folder...
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file process_in_dir need_arg parse_args give_help 

cntnavtypes.pl 2014/02/27 17:47:04 19,737
# AIM: *** VERY SPECIFIC *** Count x-plane navaids in earth_nav_dat
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw mycmp_ascend_n0 mycmp_ascend_t7 mycmp_ascend_n4 party_with_navaids process_in_file need_arg parse_args give_help get_nav_spec 

cntntypes.pl 2014/02/22 18:09:47 7,134
# AIM: *** VERY SPECIFIC *** Read a large json all.all.json file, and enumerate the objects
use strict; warnings; File::Basename; JSON; Data::Dumper; Time::gmtime; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file need_arg parse_args give_help 

codebox.pl 2005/05/15 06:42:04 1,004

color3.pl 2007/02/13 21:21:04 19,107
# AIM: To build a COLOR WHEEL in HTML
use strict; warnings; Math::Trig; 
sub html_begin html_end floor ceil round out_of_circle get_bg_color out_color_wheel_NO_GOOD simple_circle hypotenuse get_angle_radians get_angle_degrees get_hypotenuse within_circle within_circle_rad does_60_deg_rad_pass out_color_wheel_OK get_fill get_slice get_color out_color_wheel 

color4.pl 2007/02/14 14:56:02 7,739
# AIM: To take an X,Y, and convert to a color ...
use warnings; Math::Trig; 
sub html_begin html_end webRounder hexColorArray rgb2hex hsv2rgb mouseMoved floor ceil round 

color_rb.pl 2010/03/07 21:12:06 6,968
# AIM: Another attempt a generating a color table
use strict; warnings; 
sub gen_full_color_array genrainbow get_html_head get_YYYYMMDD_hhmmss get_tail_html write_out_html 

colors1.pl 2006/06/27 11:11:38 3,500

colors2.pl 2007/02/12 12:31:12 65,761
# AIM: To develop a color map to use with DEM elevations mapping
# Esentially two groups
# BLUE - Ocean
# RED/ORANGE/YELLOW/GREEN - Land
# goeff mclane - http://geoffmclane.com - 20070209
use strict; warnings; 
sub html_begin html_end list_std_colors gen_std_array out_an_array out_std_array out_std_array_OK split_words in_used is_in_used save_used_colors get_closest_color get_closest_generated inverted_hex_color check_used_std closest_color_span show_ref_colors URLDecode URLEncode URLEncodeORG sort_std_array build_new_array same_nums_together out_400_table floor ceil round get_bg_color out_color_wheel 

colortable.pl 2009/01/22 17:56:34 38,325
# AIM: Generate an 512 color table
# 12/01/2008 - geoff mclane - http://geoffair.net/mperl
use strict; warnings; 
sub gen_table2_text gen_table3_text hex_color_2_rgb rgb_color_2_hex get_red_color get_green_color get_blue_color sort_colors gen_table_text gen_table5_text get_menu_text out_html_head out_html_divide get_YYYYMMDD_hhmmss get_atlas_table out_html_tail mycmp_decend get_luminosity get_name_color_table out_named_colors is_in_list do_color_compare 

colour2.pl 2005/05/20 08:49:12 4,522
sub add_colour2_table 

colours.pl 2005/05/18 15:26:56 929

com_03.pl 2005/07/08 15:31:12 1,301
use strict; Win32::SerialPort; Time::HiRes qw(sleep); 

comex1.pl 2005/07/21 12:45:02 1,729
use strict; vars qw( $OS_win $ob $file ); 

comread.pl 2005/07/09 18:14:44 5,932
use strict; Win32::SerialPort; 
sub openPort closePort nextfilename 

comread2.pl 2005/07/09 21:43:44 10,925
use strict; Win32::SerialPort; 
sub openPort closePort latitude longitude gps_output process_GPRMC_msg nextfilename write_html_pos 

comread3.pl 2005/07/22 08:56:28 14,442
use strict; Win32::SerialPort; 
sub latitude longitude gps_output process_GPRMC_msg openPort closePort nextfilename write_html_pos2 give_help parse_arguments 

conf2cmake.pl 2013/10/29 15:48:08 13,533
# AIM: Given a config.h.in file, convert #define #undef to #cmakedefine, and try to
# read the ususal preceeding comment for the include file or function name and
# write the equivalent CMakeLists.txt text.
# 29/10/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file_org process_in_file get_header get_function need_arg parse_args give_help 

confscan.pl 2010/09/13 10:09:00 3,856
# AIM: Scan of a GNU configure file
use strict; warnings; File::Basename; Cwd; 
sub show_warnings pgm_exit prtw get_params give_help need_arg parse_args 

convcr.pl 2006/09/26 17:59:00 1,115
sub load_file write2file 

convdegrees.pl 2007/11/20 15:27:26 3,633
# AIM: To convert Farenheight to Centigrade and vice versa
# 20/11/2007 geoff mclane - http:geoffair.net/mperl
use strict; warnings; 
sub convert_f2c convert_c2f give_little_help parse_arguments 

convstr-refout.pl 2009/09/01 12:20:14 76,764
use strict; 

convstranon.pl 2009/09/04 09:29:10 12,727
# AIM: Deal with a structrue conversion
# 8/30/2009 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; 
sub word_in_array word_in_res_words trim_ends conv_str_string show_hash conv_str_stg show_hash2 

convstruct.pl 2009/09/27 00:16:40 216,461
# AIM: Convert a GCC structure declaration to one compatible with MSVC
# 20090827 - some improvements - seems to be working well. One idea would be
# to have more than 1 structure definition hash, and thus be able to 'decode'
# different instance declarations. And then combine instance declaration, and handle
# each separatel... and finally, simply read the C/H files directly ;=))
# 8/21/2009 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; 
sub get_dbg_str prtw show_warnings my_exit word_in_array word_in_res_words get_unique_key key_is_unique_type show_struc_defines get_total_blocks get_copied_count trim_ends YYYYMMDD add_to_done_file set_test_strings show_struct_hash split_alphanum get_potential_struct_name deal_with_member is_struct_tag build_struct_hash set_debug_on_str_parse set_debug_on_fill_str brace_closes_in_this_line just_space_to_semi_colon strip_comments reline_instance_string reline_instance_string_OK get_struc_mem_names offset_in_hash word_is_rh_name instance_space_split is_instance_definition add_line_2_hash test_depth clear_hash_values get_full_str_txt complain_if_mast_len bump_master_copied copy_hash_to_master fill_struct_per_gcc set_debug_on_fill get_hash_instance get_hash_instance2 find_block_at extract_avcodectag get_struct_inst_stg show_full_hash_of_hashes process_comment do_br_stack deal_with_enum_line show_enum_hash get_hash_ref_enum do_struct_conv get_master_hoh get_master_hoh2 show_str_hash get_loaded_names_array_ref word_is_rh_name_2 is_instance_definition_2 add_line_2_hash_2 fill_struct_per_gcc_2 process_in_file output_null_set process_a_file 

copyhoh.pl 2009/02/06 12:46:08 1,152
# AIM: copy a hash, into a hash reference, as the value
use strict; warnings; 
sub prt get_hash show_collection 

copyperlist.pl 2013/04/13 19:07:35 5,287
# AIM: Copy a set of files per a simple list
# 13/04/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file need_arg parse_args give_help 

countfile.pl 2007/11/05 16:06:16 9,350
# AIM: Load the templines.txt file, and process the extries more
# 03/11/2007 geoff mclane - http://geoffair.net/mperl
use strict; warnings; File::Basename; 
sub is_punct is_oper1 is_p_or_op analyse_arr analyse_line 

countword.pl 2007/11/03 20:12:12 6,368
# AIM: Read ALL source files, counting the total lines, and count how many times
# a particular 'word' occurs in that source. Avoids certain BINARY files.
# In this case the word is 'const' ...
# 31/10/2007 geoff mclane - http://geoffair.net/mperl
use strict; warnings; File::Basename; 
sub mycmp_decend in_avoid process_file process_folder 

createdsp.pl 2010/08/12 16:58:18 34,285
# AIM: Given a single source file, generate a simple DSP file, using the
# name as the project name...
# 09/08/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub VERB VERB2 VERB5 VERB9 pgm_exit prtw show_warnings check_proj_name check_out_dir check_proj_type check_out_name set_default_configs_2 get_user_rt get_user_libs get_user_incs get_user_defs get_user_out get_user_inter create_proj_dsp give_help need_arg get_adjusted_srcs load_arg_file pre_process_verbosity parse_args 

createdsp02.pl 2010/09/22 16:41:46 35,366
# AIM: Given a set of source files, generate a simple DSP file, using the first source
# name as the project name, unless given other parameters...
# 25/08/2010 - Review and update
# 09/08/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub VERB VERB2 VERB5 VERB9 pgm_exit prtw show_warnings check_proj_name check_out_dir check_proj_type check_out_name set_default_configs_2 get_user_rt get_user_libs get_user_incs get_user_defs get_user_out get_user_inter create_proj_dsp give_help need_arg get_adjusted_srcs load_arg_file pre_process_verbosity parse_args 

createdsp03.pl 2012/05/26 14:09:52 39,446
# AIM: Given a set of source files, generate a simple DSP file, using the first source
# name as the project name, unless given other parameters...
# 17/04/2012 - minor changes - put HELP at bottom
# 30/03/2012 - FIX20120330 - While '_D' is easier to ident, CMake uses just 'd', so back to that
# BUT now this causes a WARNING in MSVC10 ;=(( Should use a post-build event... ie '-NEW_POST-' like
# # Begin Special Build Tool
# SOURCE="$(InputPath)"
# PostBuild_Desc=Copy Release EXE
# PostBuild_Cmds=@if NOT EXIST bin md bin copy Release\patch\patch.exe bin\patch.exe
# End Special Build Tool
# 19/02/2012 - FIX20120219 - allow space delimited source list
# 16/10/2011 - FIX20111016 - dsw file to get correct dsp name
# 04/08/2011 - FIX20110804 - add an 'outdsw' command, to also write a DSW file, if none exists
# 23/04/2011 - FIX20110423 - Do NOT allow PURE DUPLICATED SOURCES in list
# 28/01/2011 - Fix if command contained a '-' char
# 25/12/2010 - Address some relative source BUGS, like $use_usr_src
# 13/10/2010-20/10/2010 - Major update
# 25/08/2010 - Review and update
# 09/08/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub VERB VERB2 VERB5 VERB9 pgm_exit prtw show_warnings check_proj_name check_out_dir check_proj_type check_out_name set_default_configs_2 get_user_rt get_user_libs get_user_incs get_user_defs get_user_out get_user_inter get_user_post create_proj_dsp need_arg get_adjusted_srcs load_arg_file pre_process_verbosity add_to_proj_incs parse_args give_help 

csslist.pl 2010/07/11 14:01:28 10,597
# AIM: Given an input folder, search for ALL file *.css, recursively,
# and build and show a hash list of the results...
# 11/07/2010 - checkout run only - looks ok
# 17/03/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; 
sub process_folder show_warnings pgm_exit prtw is_fp_folder is_css_file value_not_in_ra check_css_list show_background show_ref_hash 

currencyISO.pl 2006/08/28 12:31:28 15,510
sub ISO2Currency ISO2CurrencyOnly Currency2ISO ISO2Country Country2ISO_1 Country2ISO RetISOTableText RetISO3166TableText 

cvstime.pl 2009/01/18 18:07:12 4,735
# AIM: To examine an input directory, seeking CVS folders and files,
# and reporting when the last update was done.
# 15/08/2007 - geoff mclane - geoffair.net/mperl
# SEE cvsversion.pl for the latest, and greatest ;=))
use strict; warnings; File::stat; File::Basename; 
sub prt mydie process_dir give_help parse_args dos_2_unix get_nn 

cvsversion.pl 2010/12/10 13:32:24 17,157
# AIM: To examine an input directory, seeking CVS folders and files,
# and reporting when the last update was done.
# 10/12/2010 - Review - remove no warnings message...
# 2010/02/14 - add -v[n] to report more. N is size of time list stack,
# and added -xf <file>, and -xd <dir> to EXCLUDE these items (CaSe sensitive!)
# 10/11/2009 - Some further tidying, and move recursive directory to end of function
# Add prtw(), and show_warnings()
# 09/11/2009 - Added bytes-to-ks for $total_bytes, and get LOCAL directory sizes
# 31/10/2009 - But it reported the latest FILE, but want the latest CVS file
# 15/08/2007 - geoff mclane - geoffair.net/mperl
use strict; warnings; File::stat; File::Basename; Time::gmtime; 
sub prt mydie prtw show_warnings pgm_exit get_YYYYMMDD_hhmmss_UTC get_YYYYMMDD_UTC mycmp_ascend_n2 in_excluded_vc in_excluded_ext in_excluded_user in_excluded_dirs in_excluded is_an_excluded_file dos_2_unix get_nn show_per_time_list b2ks2 show_per_folder show_latest_file is_in_respository_folder process_dir give_help check_nxt parse_args 

data2struct.pl 2009/09/29 19:04:42 13,992
# AIM: VERY SPECIFIC
# 29/09/2009 geoff mclane http://geoffair.net/mperl
use strict; warnings; 
sub strip_comment_chars process_data show_hash_ref 

datecalc.pl 2006/09/12 20:48:28 6,401
#AIM: Test DATE/TIME functions
# see : http://www.perl.com/CPAN/modules/by-module/Date/
# see : http://www.perlhowto.com/node/26 - working with date/time
# see : http://www.perl.com/cs/user/query/q/6?id_topic=73 - Date::Parse
# Converts date strings into Unix time values. (A Unix time value is the number of
# seconds since January 1, 1970.) [pod]
# Not included in AcivePerl, and could not find Date::Parse
# using PPM installed Date-Calc in the hope ...
# from : ppm
# ppm install Date-Calc, got -
# Successfully installed Date-Calc version 5.4 in ActivePerl 5.8.6.811.
# this has the functions - use Date::Calc qw(
# Days_in_Year Days_in_Month Weeks_in_Year leap_year check_date check_business_date
# Day_of_Year Date_to_Days Day_of_Week Week_Number Week_of_Year Monday_of_Week
# Nth_Weekday_of_Month_Year Standard_to_Business Business_to_Standard
# Delta_Days Delta_DHMS Add_Delta_Days Add_Delta_DHMS Add_Delta_YMD
# System_Clock Today Now Today_and_Now Easter_Sunday Decode_Month
# Decode_Day_of_Week Decode_Language Decode_Date_EU Decode_Date_US
# Compress Uncompress check_compressed Compressed_to_Text Date_to_Text
# Date_to_Text_Long English_Ordinal Calendar Month_to_Text Day_of_Week_to_Text
# Day_of_Week_Abbreviation Language_to_Text Language Languages Decode_Date_EU2
# Decode_Date_US2 Parse_Date );
# formats of output
# 1 English : "Wwwwww, Mmmmmm ddth yyyy"
# 2 French : "Wwwwww, le dd Mmmmmm yyyy"
# 3 German : "Wwwwww, den dd. Mmmmmm yyyy"
# 4 Spanish : "Wwwwww, dd de Mmmmmm de yyyy"
# 5 Portuguese : "Wwwwww, dia dd de Mmmmmm de yyyy"
# 6 Dutch : "Wwwwww, dd. Mmmmmm yyyy"
# 7 Italian : "Wwwwww, dd Mmmmmm yyyy"
# Date_to_Days -
# This function returns the (absolute) number of the day of the given date,
# where counting starts at the 1st of January of the year 1 A.D.
# thus $unixsecs = ((Date_to_Days($year,$month,$day) - Date_to_Days(1970,1,1)) * 24 * 60 * 60);
# Because counting starts at '1', you will actually have to subtract '1' from the
# canonical date in order to get back the original date:
# eg $canonical = Date_to_Days($year,$month,$day);
# ($year,$month,$day) = Add_Delta_Days(1,1,1, $canonical - 1);
use strict; Date::Calc qw(:all); 
sub try_us_parse try_eu_parse try_parse out_date_set 

debug.pl 2010/09/01 14:32:46 2,403
use strict; warnings; 
sub set_dbg_base get_dbg_var get_dbg_stg get_dbg_range set_dbg_var clear_dbg_var set_all_dbg_on set_all_dbg_off 

dec2hex.pl 2006/10/21 11:54:30 1,261
sub dec2hex 

def2stg.pl 2007/04/14 17:07:32 3,401
# AIM: Read an input file ...
# search for '#define ABC <something>
# output a WMSTR val, stg, 0 for each item ...
# geoff mclane - http://geoffmclane.com/mprel/index.htm - 20070408
use strict; warnings; 
sub give_help parse_args 

degs2rads.pl 2010/08/17 13:35:38 596
# AIM: Given input of DEGREES, output RADIANS
# 17/08/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; Math::Trig; 

delline.pl 2008/07/02 15:09:40 5,481
# AIM: Search for a line, and delete it, and write file out
use strict; warnings; 
sub just_width just_height adjust_line 

delperlist.pl 2013/05/23 12:20:27 7,464
# AIM: Delete a set of file per an input file list
# 23/05/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Term::ReadKey; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw got_keyboard delay wait_for_input process_in_file need_arg parse_args give_help 

delsame.pl 2010/01/19 20:04:04 2,298
# AIM: Given an input file, scan deleting blank and same lines
use strict; warnings; File::Basename; Cwd; 
sub pgm_exit prtw show_warnings process_file show_ref_arr 

delsvn.pl 2009/08/31 13:30:42 10,768
# AIM: To read a diff -u file, and exclude files in .svn folders...
# 8/30/2009 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; File::Basename; 
sub prtw show_warnings sub_base_svn_dir process_file add_file_list give_help process_args 

diffanal1.pl 2006/09/10 19:55:16 3,109
# AIM: to read a diff file, and search for specific items
# 2006.09.10 - added missing files, but must exclude _cti_cnf
sub show_diff my_file my_path 

difflist.pl 2013/08/15 19:38:54 7,501
# AIM: Read a *.diff -u output and pepae a list of files that differ
# 15/08/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file need_arg parse_args give_help 

dir2bat.pl 2013/08/11 14:49:09 9,270
# AIM: HIGHLY SPECIFIC - Scan C:\FG\18 getting all subdirectorie, then scan
# c:\MDOS\*.bat files, and out a list matching the folder with a batch file
# 11/08/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file remove_base_path remove_base_dir scan_in_dir need_arg parse_args give_help 

dir2list.pl 2010/01/06 20:10:26 3,300
# AIM: Given a 'directory' file input, output a list ...
sub mycmp_decend 

dir2list02.pl 2013/10/28 11:52:33 17,332
# AIM: Take a directory listing file, and write it as a simple list
# 28/10/2013 - -bear list should also effect file written
# 06/07/2013 - Add -find to indicate it is a fa4 list
# 19/05/2013 - Add
# 08/01/2013 - Some updates
# 11/11/2011 - Some improvement in the UI...
use strict; warnings; File::Basename; Cwd; Time::Local; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw mycmp_decend0 mycmp_decend7 suppress_last delete_cwd datetime_to_epoch_secs datetime_to_seconds process_fa4_file process_input_file process_input_files give_help need_arg process_args 

dir2nsis.pl 2012/07/27 12:58:56 7,981
# AIM: Given an input directory, scan it, and write out the results
# to a NSIS nsi include file.
# 27/07/2012 - Initial cut
use strict; warnings; File::Basename; File::stat; Cwd; 
sub process_in_dir VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file sub_root_dir process_file_list need_arg parse_args give_help 

dirbydate.pl 2012/02/28 20:03:48 29,235
# AIM: Read a file output from the DIR command, and order the files in DATE
# order ... drop out the pure <DIR> entries ...
# 28/02/2012 - FIX20120228 - Add -bare (-b), for output of a BARE list
# 09/09/2011 - FIX20110909 -Since Qt use 'gcc', add *.o to -x-msvc built files
# 03/08/2011 - FIX20110803 - Option -dir-list adds the file item name
# 24/04/2011 - FIX20110424 - Add -t nn option; begin using short args...
# 26/03/2011 - Add skip-repo to skip .git .svn and CVS directories
# 01/07/2010 - Fix bug in $tail_cnt listing...
# 28/06/2010 - Add -tail=<num> 0 for all, else only show tail of this count.
# 25/06/2010 - Add -skip-cvs to SKIP showing the 'CVS' directory, and skip-git to skip '.git'
# 01/05/2010 - Added -v to set $verbose, and reduced output if not
# 04/03/2010 - Limit maximum list width
# 2010/01/02 - Add parse_args(), and add some switches
# 2/13/2009 - Add delete (unlink) of log file at end, and skip if <DIR> is 3[2] or 4th[3] entry...
# 10/18/2008 - Account for American MM/DD/YEAR, and inhibit <DIR> listings
# 20061219 - Can NOT use just $0 to get script name, since when directly invoke from
# a command prompt, it becomes C:\GTools\Perl\dirbydate.pl, so added some regex to
# massage the name, and just get the perl script name ... if a DRIVE included /^\w{1}:\\.*/
# AND, to enable it to FIND the logfile.pl, add unshift(@INC, 'C:/GTools/perl');
# OR this can be use lib '/Users/User/perl-lib';, or perl -MC:/GTools/perl -e dirbydate.pl
# and added a $evenspace option ...
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub VERB1 VERB2 VERB3 VERB9 pgm_exit is_frontpage_folder got_fp_dir has_excluded_ext_i has_user_excluded_ext_i got_cvs_dir got_git_dir got_svn_dir skip_line remdir mycmp_ascend mycmp_decend in_user_excluded out_sorted_list process_input_file guess_date_order need_arg give_help parse_arg_v parse_args 

dirbydateold.pl 2006/12/19 20:05:00 4,443
# AIM: Read a file output from the DIR command, and order the files in DATE
# order ... drop out the pure <DIR> entries ...
use strict; warnings; 
sub trimall remdir mycmp_ascend mycmp_decend 

dirbyname.pl 2010/07/18 18:19:24 22,412
# AIM: Read a file output from the DIR command, and order the files in DATE
# order ... drop out the pure <DIR> entries ...
# 18/07/2010 - Convert dirbydate.pl, to dirbyname.pl
# 01/07/2010 - Fix bug in $tail_cnt listing...
# 28/06/2010 - Add -tail=<num> 0 for all, else only show tail of this count.
# 25/06/2010 - Add -skip-cvs to SKIP showing the 'CVS' directory, and skip-git to skip '.git'
# 01/05/2010 - Added -v to set $verbose, and reduced output if not
# 04/03/2010 - Limit maximum list width
# 2010/01/02 - Add parse_args(), and add some switches
# 2/13/2009 - Add delete (unlink) of log file at end, and skip if <DIR> is 3[2] or 4th[3] entry...
# 10/18/2008 - Account for American MM/DD/YEAR, and inhibit <DIR> listings
# 20061219 - Can NOT use just $0 to get script name, since when directly invoke from
# a command prompt, it becomes C:\GTools\Perl\dirbydate.pl, so added some regex to
# massage the name, and just get the perl script name ... if a DRIVE included /^\w{1}:\\.*/
# AND, to enable it to FIND the logfile.pl, add unshift(@INC, 'C:/GTools/perl');
# OR this can be use lib '/Users/User/perl-lib';, or perl -MC:/GTools/perl -e dirbydate.pl
# and added a $evenspace option ...
use strict; warnings; 
sub VERB1 VERB2 VERB3 VERB9 pgm_exit is_frontpage_folder got_fp_dir got_cvs_dir got_git_dir got_svn_dir skip_line remdir mycmp_ascend mycmp_decend mycmp_ascend1 mycmp_decend1 out_sorted_list process_input_file guess_date_order need_arg give_help parse_arg_v parse_args 

dirbysize.pl 2011/09/15 18:13:30 21,741
# AIM: Read a file output from the DIR command, and order the files in SIZE
# order ... drop out the pure <DIR> entries ...
# 15/09/2011 - Limit file name length to say 32 chars, and exit is no input
# 2010/03/28 - option to omit CVS/svn/git directories
# 2/13/2009 - Add delete (unlink) of log file at end, and skip if <DIR> is 3[2] or 4th[3] entry...
# 20061219 - Can NOT use just $0 to get script name, since when directly invoke from
# a command prompt, it becomes C:\GTools\Perl\dirbydate.pl, so added some regex to
# massage the name, and just get the perl script name ... if a DRIVE included /^\w{1}:\\.*/
# AND, to enable it to FIND the logfile.pl, add unshift(@INC, 'C:/GTools/perl');
# OR this can be use lib '/Users/User/perl-lib';, or perl -MC:/GTools/perl -e dirbydate.pl
# and added a $evenspace option ...
# geoff mclane - 28 March, 2007 - geoffmclane.com - based on dirbydate.pl
use strict; warnings; File::Basename; 
sub VERB1 VERB2 VERB5 VERB9 prt_version prtw show_warnings pgm_exit get_nn trimall remdir mycmp_ascend2 mycmp_decend2 is_date_entry is_time_entry dbs_d2u is_a_respository_dir set_common_folder process_in_file dbs_b2ks2 show_file_list process_in_files give_help parse_arg_v need_arg parse_args 

dircompact.pl 2009/11/22 13:14:56 541
use strict; warnings; 

dirdate-old.pl 2011/01/07 14:11:48 6,706
# AIM: Scan given directory, and list the latest, in date order
use strict; warnings; File::Basename; File::stat; Cwd; 
sub show_warnings pgm_exit prtw get_YYYYMMDD_hhmmss sub_common_folder show_file_ref process_directory give_help need_arg parse_args 

dirdate-old2.pl 2011/11/12 15:52:12 16,105
use strict; warnings; File::stat; File::Basename; Time::gmtime; 
sub VERB1 VERB2 VERB5 VERB9 process_directory show_warnings pgm_exit prtw get_YYYYMMDD_hhmmss_UTC mycmp2 mycmp2_invert has_repo_folder has_excluded_ext is_excluded_file is_temp_file show_on_day_basis show_last give_help need_arg parse_args 

dirdate.pl 2014/01/29 13:39:14 18,305
use strict; warnings; File::stat; File::Basename; File::Spec; Time::gmtime; 
sub VERB1 VERB2 VERB5 VERB9 process_directory show_warnings pgm_exit prtw get_YYYYMMDD_hhmmss_UTC mycmp2 mycmp2_invert has_repo_folder has_excluded_ext is_excluded_file is_temp_file is_excluded_dir show_on_day_basis show_last need_arg parse_args give_help 

direct.pl 2013/05/14 15:39:36 5,324
# AIM: Given a lat lon position in degrees, an azimuth (degs), and distance (Km), give end point
# 08/09/2011 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub show_warnings pgm_exit prtw process_in_file do_direct give_help need_arg parse_args 

dirg.pl 2007/01/27 13:23:26 11,975
use strict; Cwd; File::stat; 
sub do_user_dir do_sub_dir parse_arguments dirname retfulldir subactdir addbold addcolm addcolmr html_head html_head2 html_tail b2ks1 get_nn 

dirg2.pl 2007/01/27 13:23:46 14,669
# AIM: Scan a directory, and suggest CD-ROM write
# limits ... fill CD-ROM to below ORANGE(warn) level
# by skipping FOLDER that put it OVER this limit.
# Present limit = 700MB CD-ROM assumed, so
# LIMIT set to 650MB ...
use strict; Cwd; File::stat; 
sub do_user_dir do_sub_dir parse_arguments dirname retfulldir subactdir addbold addcolm addcolmr html_head html_head2 html_tail b2ks1 get_nn 

dirg3.pl 2008/07/22 16:31:50 30,050
# AIM: Scan a directory, and suggest CD-ROM write
# limits ... fill CD-ROM to below ORANGE(warn) level
# by skipping FOLDER that put it OVER this limit.
# Present limit = 700MB CD-ROM assumed, so
# LIMIT set to 650MB ...
# sort per FOLDER size
# add oldest/youngest columns
# adjust to sector sizing
# Three examples
# CD1 - 547 files, 8 dirs, 24 folders, total 647,451,959 bytes - 618MB, 316,625 sectors
# CD2 - 588 files, 9 dirs, 27 folders, total 617,984,758 bytes - 590MB, 302,262 sectors
# CD3 - 416 files, 5 dirs, 15 folders, total 446,700,056 bytes - 427MB, 218,623 sectors
use strict; Cwd; File::stat; 
sub out_sort_table mycmp_ascend mycmp_decend in_excluded do_user_dir do_sub_dir parse_arguments require_argument dirname retfulldir subactdir addbold addcolm addcolmr html_head html_head2 html_tail b2ks2 b2ks1 get_nn mth_to_num date_string 

dirlist.pl 2013/08/10 17:26:24 10,782
# AIM: Given a root directory, scan recursively and list directories found
# Exclude REPO directories by default. -a to include
# Exclude directories with no files.
# 08/08/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw in_repo_list process_in_file remove_base_path remove_base_dir in_cmp_dir process_in_dir show_dirs need_arg parse_args give_help 

dirmin.pl 2012/03/01 14:30:34 4,512
# AIM: Read a dir > file file, and trim to minimum...
# 13/12/2011 - Added -o <file> to output to a file.
# 15/10/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub show_warnings pgm_exit prtw process_in_file give_help need_arg parse_args 

dirrel.pl 2011/07/12 20:07:52 8,849
# AIM: Given a file name, get the relative directory of the file, if found
use strict; warnings; File::Basename; File::Spec; Cwd; Win32::Clipboard; 
sub show_warnings pgm_exit prtw process_in_file2 scan_dir match_with_wild matches_wild has_wild process_in_file give_help need_arg parse_args 

dirs.pl 2005/04/25 04:51:46 3,626
sub do_recursive get_nn b2ks1 

dirsizes.pl 2009/01/02 17:37:06 9,472
# AIM: Given a PATH, show the directories existing, and the approx. size of each
# including the number of files found
# 1/2/2009 - Minor fix of file count ($fc), especially when no subdirectories.
# 20/12/2008 - Added an -x=excludes parameters
# 20/11/2008 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::stat; 
sub bytes2ks mycmp_decend get_nn show_dir_sizes process_folder give_help require_arg set_verbosity parse_args prtw show_warnings 

dirsizes02.pl 2010/07/01 16:59:48 16,379
# AIM: Given a PATH, show the directories existing, and the approx. size of each
# including the number of files found
# 1/2/2009 - Minor fix of file count ($fc), especially when no subdirectories.
# 20/12/2008 - Added an -x=excludes parameters
# 20/11/2008 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::stat; Cwd; Fcntl ':mode'; 
sub bytes2ks bytes2ks_1000 mycmp_decend get_nn show_dir_sizes is_directory show_stat process_folder give_help require_arg set_verbosity parse_args prtw show_warnings dir2unix 

dirsizes03.pl 2011/12/27 16:02:46 18,721
# AIM: Given a PATH, show the directories existing, and the approx. size of each
# including the number of files found
# 27/12/2011 - Minor FIX20111227 fixes - ignore 'System Volume Information', and ret 5 elements on fail
# 13/07/2010 - invert the output
# 01/07/2010 - add adjusted size, based on block size of 4096 - closer approx of
# space required on disk system that uses 4096 bytes as BLOCK size.
# 1/2/2009 - Minor fix of file count ($fc), especially when no subdirectories.
# 20/12/2008 - Added an -x=excludes parameters
# 20/11/2008 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::stat; Cwd; Fcntl ':mode'; 
sub process_folder prtw show_warnings pgm_exit dir2unix bytes2ks mycmp_ascend mycmp_decend mycmp_decend_alpha get_nn is_directory show_stat show_dir_sizes give_help require_arg set_verbosity parse_args 

distance.pl 2010/11/10 12:46:20 3,033
# AIM: Use perl trib function for distance London to Tokyo...
# from : http://perldoc.perl.org/Math/Trig.html
use strict; warnings; Math::Trig qw(great_circle_distance great_circle_direction deg2rad rad2deg); 
sub NESW get_hhmmss 

distance02.pl 2013/12/17 14:10:57 18,146
# AIM: Use perl trig function for distance London to Tokyo...
# from : http://perldoc.perl.org/Math/Trig.html
# previous disptance.pl, with no use of SIMGEAR
# 17/12/2013 - Give precise info, unless verbosity raised
# 08/09/2011 - Minor adjustment - when -v2 output SG_Head in FULL - see possible error in az2!!!
# And -i <NUM> option, to output a list of points inbetween
# 06/08/2011 - Add -s speed in knots, default = 100 kt, and FIX inadvertent lat,lon reversal ;=))
# 26/02/2011 - Improved Distance: display
# 18/12/2010 - Fix heading from reverse track to heading (true)...
# 05/12/2010 - 01/12/2010 - Allow two comma separated pairs of input
# 20/11/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; Math::Trig qw(great_circle_distance great_circle_direction deg2rad rad2deg); 
sub VERB1 VERB2 VERB5 VERB9 prt pgm_exit in_world in_world_show set_decimal1_stg set_decimal2_stg set_decimal_stg NESW show_sg_distance_vs_est get_sg_distance_vs_est get_latlon_stg get_heading_stg show_intervals show_distance get_hhmmss give_help need_arg parse_args 

DmmReg-test.pl 2010/10/23 12:36:26 396
use DmmReg; strict; 

dms2ll.pl 2014/03/28 12:00:42 6,899
# AIM: To accept an input DEGREES MINUTES (SECONDS DECIMAL) [NSEW]
# and convert to a single decimal degrees ... 47 28 0 N
# 28/03/2014 - some improvements
# 13/03/2014 - some more improvements BUT STILL VERY UGLY ;=((
# 24/09/2013 - some improvements
# 21/07/2011 - Fix bug when entered
# 12/11/2010 - Attempt to reconstitute the same FORM
# 20061206 - Later added conversion back to DEG MIN SECS as a check ...
# Mt Everest 27 59 17 N = 27.9880555555556 - 86 55 31 E = 86.9252777777778 = N27E086.hgt
use strict; warnings; 
sub prt deg2dms2f deg2dm coords2str lat2str lon2str lon2strdm lat2strdm give_help next_arg parse_args 

doupload.pl 2005/08/06 08:32:32 3,606
use strict; Cwd; File::stat; 
sub in_todo in_done process_folder 

download.pl 2008/08/01 18:02:40 3,319
# AIM: Download a file from the web
# that is get a url - get url - fetch url - download url
# if it is a binary file, then this will download that binary,
# however if say a PHP or ASP, then only the HTML output will be received.
# 01/08/2008 geoff mclane http://geoffair.net/mperl
use strict; warnings; LWP::Simple; LWP::UserAgent; 
sub callback 

downloadut.pl 2008/07/17 15:12:00 2,756
use warnings; LWP::Simple; LWP::UserAgent; 
sub callback 

downloadut02.pl 2008/07/17 15:18:42 3,450
# AIM: To download a YouTube video
# NOTE: THIS NO LONGER WORKS DUE TO MANY CHANGES IN THE YOUTUBE CONTENTS PAGE!!!
use strict; warnings; LWP::Simple; LWP::UserAgent; 
sub callback 

dsp2cfg.pl 2007/04/21 20:51:58 1,988
# AIM: Read a specific DSP file, and build an am2dsp CONFIG file
# 21/04/2007 - geoff mclane - http:\\geoffmclane.com
use strict; warnings; 
sub strip_dquotes 

dswlist.pl 2012/06/06 18:33:34 35,611
# AIM: Given a MSVC6 DSW files, show the LIST of DSP files it references
# or given a FOLDER, search for ALL .DSW files, and show .DSP list.
# 01/06/2012 - Fixfor 'SUB' should be 'SUBTRACT'
# 29/05/2012 - Output a cmake list of sources found
# 20090913 - add command line parsing, and make it more conform to scan of vcproj
# substitution variables
# -NEW_PROJECT_NAME-" = name of the project
# -NEW_OUTD_(REL|DBG)- = PROP Output_Dir ????
# -NEW_INTER_(REL|DBG)- = PROP Intermediate_Dir ????
# ADD CPP with
# -NEW_RT_(REL|DBG)- = RUNTIME, like /MT /MD, /MTd, etc
# -NEW_INCS_(REL|DBG)- = INCLUDE DIRECTORIES, like /I ".."
# -NEW_DEFS_(REL|DBG)- = DEFINES, like /D "FGFS"
# ADD LINK32 (for console, app, DLL) with
# -NEW_LIBS_(REL|DBG)- = Additional libraries for the link
# -NEW_OUT_(REL|DBG)- = link output, like /out:"StaticRelease\libpng.lib
# -NEW_POST_(REL|DBG)- = POST build - description and commands, TAB separated
# ADD LIB32 (for static library) with
# -NEW_OUT_(REL|DBG)- = OUTPUT static library
# 22/04/2007 - geoff mclane - http://geoffmclane.com/mperl/samples/index.htm
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw get_app_type_stg_local strip_quotes2 space_split2 is_c_source_local get_cmake_header show_hash_results2 show_master_hash process_directory is_my_file dos_to_unix scan_dsp_lines remove_base_path show_files process_dsw load_in_file unix_2_dos fix_rel die_if_no_file process_build_file process_in_file need_arg parse_args give_help 

dvdsizes.pl 2010/04/07 20:23:40 47,487
# AIM: Scan a directory, and suggest DVD write
# limits ... fill DVD to below ORANGE(warn) level
# by skipping FOLDER that put it OVER this limit.
# Present limit = 4.7GB DVD assumed, so
# LIMIT set to 4.5GB ... sort per FOLDER size
# add oldest/youngest columns # adjust to sector sizing
# Three examples
# 2010/04/17 - point out indivual files GREATER THAN ONE DVD SIZE
# 2010/01/14 - Minor adjustments
# Original: 22/07/2008 dirg3.pl for 700MB, but now changed to dvdsizes.pl...
# 30/10/2009 geoff mclane http://geoffair.net/mperl
use strict; warnings; Cwd; File::stat; File::Find; Data::Dumper; 
sub process_dir_array_ref VERB1 VERB2 VERB3 VERB5 VERB9 prtw show_warnings pgm_exit prtv1 prtso prtsot strip_dbl_quotes get_nn b2ks2 b2ks2_ok find_local_files_2 mycmp_decend mycmp_ascend mycmp_ascend_2 mycmp_decend_2 mycmp_ascend_a mycmp_decend_a output_file_list process_dir get_stg_left_aligned get_aligned_file_size get_aligned_ks_size get_aligned_size_stg get_size_stg process_file_array_ref remove_base2 process_full_hash show_hash_reference is_in_excluded dir_is_in_excluded find_local_files process_dir_hash remove_base expand_dir_hash no_case_ascend show_dir_sizes add_padding divide_for_dvd process_in_files require_argument deal_with_i_opt deal_with_v_opt deal_with_s_opt deal_with_x_opt give_help pre_parse_v_opt parse_arguments 

editgroup.pl 2008/03/09 18:31:12 1,072
# AIM: Read a GROUP fo files in a FOLDER, and edit each one by one ...
# 09/03/2008 - geoff mclane - http://geoffair.net/mperl/samples
use strict; warnings; 
sub get_input 

elapsed.pl 2009/11/17 14:03:20 1,984
# AIM: Take two time parameters, like 14:21:03.48 14:23:36.65,
# and display the difference ...
# 17/11/2009 - If negative, assume next day. Not accurate, but better
# 15/05/2007 - geoff mclane - http://geoffmclane.com/mperl.index.htm
use strict; warnings; 
sub parse_args get_seconds secs2hms 

EmbedManifest.pl 2008/08/04 14:48:38 13,754
use File::Find; File::Copy; Cwd; 
sub ShowHelp prt 

encode01.pl 2006/10/30 19:47:20 871
use strict; warnings; Encode; 

end.pl 2008/07/30 12:26:24 153
use strict; warnings; 

end02.pl 2008/07/30 12:26:50 222
use strict; warnings; 

env-cgi.pl 2005/06/18 11:20:22 427
sub prt 

epoch2date.pl 2013/12/15 17:07:49 3,721
# AIM: Convert unix epoch seconds to date...
# 15/12/2013 - Show offset of 'local' from UTC
# 18/03/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; DateTime; DateTime::TimeZone; Time::Local; Data::Dumper; Cwd; 
sub pgm_exit need_arg parse_args give_help 

eppearl.pl 2005/11/24 15:57:16 5,078
sub do_stx_file 

exefixcmake.pl 2014/04/18 11:47:49 20,053
# AIM: Given a single CMakeLists.txt, or a path to search for CMakeLists.txt, read in
# and make sure for every 'add_executable( name ... )' there also exists a
# set_target_properties( name PROPERTIES DEBUG_POSTFIX d ), put in if(WIN32)
# 18/04/2014 - add a -d --dry-run to show which files will be changed, and change to if(MSVC)
# 21/09/2013 - attempt to exactly retain the file format
# 02/06/2013 - Process ALL CMakeLists.txt in the set
# 23/03/2013 - Enhance UI
# if added... and if -w, backup file and write new...
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw not_complete_cmake_line split_cmake_line do_subs init_set_hash add_to_set_hash process_in_file add_cmakelists process_inputs need_arg parse_args give_help 

extra.pl 2005/05/08 12:04:44 95
use strict; 
sub tolog 

extra2.pl 2005/05/08 14:10:38 790
use strict; 
sub verify_2 get_user_name 

extractflts.pl 2012/12/13 20:06:54 8,258
# AIM: VERY SPECIFIC - extract a set of transactions from a database dump
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw strip_qts process_in_file need_arg parse_args give_help 

extractwords.pl 2008/01/12 21:14:24 3,528
# AIM: read a file, and extract the word within ...
# 12/01/2008 - geoff mclane - http://geoffair.net/mperl
use strict; warnings; 
sub is_hex_numb is_all_nums add_word process_directive process_file show_words 

ExtUtils01.pl 2008/08/05 11:48:04 960
#AIM: To explore some items in ExtUtils::MakeMaker::Config;
use strict; ExtUtils::MakeMaker::Config; File::Basename; File::Spec; ExtUtils::MakeMaker qw( neatvalue ); vars qw(@ISA $VERSION); 
sub prt 

ExtUtils02.pl 2008/08/05 12:13:22 1,766
# AIM: To Enumerate the keys and values in
use strict; warnings; ExtUtils::MakeMaker::Config; 

factorial.pl 2007/05/20 18:21:12 715
# AIM: Take an input of an integer, and show the factorial of that number.
use strict; warnings; bignum; 

fav-01.pl 2007/03/03 16:27:48 3,836
# AIM - To list the file in my 'Favorite' folder ...
# 10 Nov, 2005 - geoff mclane - http://geoffmclane.com
# 03 March, 2007 - Added output to LOG FILE ...
use strict; Cwd; File::stat; Time::HiRes qw(usleep ualarm gettimeofday tv_interval); 
sub scandir 

fav-02.pl 2005/11/10 16:03:34 2,402
sub get_lists do_dir prt sb 

fav-03.pl 2006/06/29 13:24:46 6,790
# AIM: To read the Internet Favorites, and produce
# a HTML document, with links and description
# 2005.11.12 - works ok - geoff mclane
# update 2006.06.28 - weed out (a) duplicates (not done) and (b) local references
# Added a MAXIMUM width, so the table approximately 'fits' a 1024 wide screen
# change to using '<base target="_blank">'
sub get_lists do_dir prt max_sub sb ohl oh out_htm_head out_htm_tail 

fav-04.pl 2006/07/15 16:21:28 17,376
# AIM: To read the Internet Favorites, and produce
# a HTML document, with links and description
# 2006.07.11 - switch link column, and add (B) broken, from c:\HOMEPAGE\Broken02.htm
# update 2006.06.28 - weed out local references
# Added a MAXIMUM width, so the table approximately 'fits' a 1024 wide screen
# change to using '<base target="_blank">'
# 2005.11.12 - works ok - geoff mclane
use File::stat; 
sub get_table_arr mth_to_num get_YYYYMMDD get_lists do_dir prt max_sub2 max_sub remdir ohl oh out_htm_head out_htm_tail in_fav_broken in_oth_broken in_exclude 

fav-04b.pl 2006/07/15 12:55:34 4,996
# AIM: Load broken HTML report from front page ...
sub in_brokenf in_brokeno 

fav-05.pl 2007/08/24 16:54:56 21,680
# AIM: To read the Internet Favorites, and produce
# a HTML document, with links and description
# 23/08/2007 - into new 'format', and some updates using Tidy to 'fix' text ...
# added date table, if $chkip, check the IP can be resolved, mark <b>(B)</b> if not.
# if $chkpage, download the page, and mark <b> if this fails.
# 2006.07.11 - switch link column, and add (B) broken, from c:\HOMEPAGE\Broken02.htm
# update 2006.06.28 - weed out local references
# Added a MAXIMUM width, so the table approximately 'fits' a 1024 wide screen
# change to using '<base target="_blank">'
# 2005.11.12 - works ok - geoff mclane - geoffair.net/favorites.htm
use strict; warnings; File::stat; Socket; LWP::Simple; 
sub post_processing get_link_text add_link_para out_htm_head add_link_item out_htm_table out_htm_para1 out_htm_table2 out_htm_tail write_html_file get_favorite_folder get_file_list process_dir remdir in_exclude max_sub2 max_sub secs_2_hhmmss get_table_arr YYYYMMDD get_tidy_text Get_URL_Text_Count Get_Host_Name Get_Domain_Name showIPAddress 

favfind.pl 2008/02/16 19:29:48 3,302
# AIM: Read Favorites folder, and show a URL on find ...
# 16/02/2008 - Geoff McLane - http://geoffair.net/mperl
use strict; warnings; File::Basename; 
sub get_favorite_folder get_file_list process_dir 

fg-ac.pl 2010/12/18 19:05:16 72,982
# AIM: Given a FG data directory, enumerate the AIRCRAFT found
# 05/12/2010 - Update - move good functions to a 'lib_xml.pl'
# 2010-01-09 - initial cut - geoff - bugs: report@geoffair.info
#<PropertyList>
# <sim>
# <flight-model>yasim</flight-model>
# <status>alpha</status>
# <author>Lee Elliott</author>
# <aero>MiG-15bis-yasim</aero>
# other things...
#BEGIN {
# @INC = qw(/etc/perl /usr/local/lib/perl5/site_perl/5.10.1 /usr/local/lib/perl5/5.10.1 /usr/lib/perl5 /usr/share/perl5 #/usr/local/share/perl/5.8.8 /usr/lib/perl/5.8 /home/geoff/bin);
#}
use strict; warnings; File::Basename; Cwd; 
sub load_thorn_list VERB1 VERB2 VERB5 VERB9 prtw show_warnings pgm_exit short_form_file_name is_rel_set_file sub_common_dir process_dir process_files xml_get_type_name is_cdata ret_stack_text_simple ret_stack_text_arr get_att_ref check_ele_stack scan_xml_text parse_xml_text parse_xml_text_warning has_utf_16_BOM parse_xml_file parse_xml_ok parse_ref_set get_warn_error_text is_in_array_ref is_in_array_ref_0 show_ele_hash transfer_ele_hash xml_get_all_children show_child_hash show_fg_sim_references get_fg_string get_fg_sim_fdm_string get_fg_sim_author_string get_fg_sim_status_string get_fg_sim_aero_string get_fg_sim_desc_string get_YYYYMMDD_local show_ref_dir test_inp_dir show_rel_ac read_inp_dir check_air_list give_help need_arg parse_args 

fg-navaid.pl 2013/09/23 17:40:14 38,817
use v5.12; strict; warnings; utf8; open qw(:std :utf8); Encode qw(decode_utf8); Getopt::Long qw(:config gnu_getopt); Pod::Usage; DBI; Geo::Inverse; POSIX qw(fmod); Regexp::Grammars; DateTime; Math::Trig qw(:pi); constant NMAX => 12; 
sub NM M str2deg deg2dms2f deg2dm coords2str magdecl2str dist2str mhz2str khz2str airport_info fix_info nav_info deg_round heading2str runway_info octree_nodes nav_in_range bearings geo2xyz rsbns new compute 

fg01.pl 2005/05/15 14:14:16 563

fg_coms.pl 2014/01/27 18:01:40 7,173
# AIM: Get the current COM frequencies
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw prtt process_in_file get_fg_coms need_arg parse_args give_help 

fg_f14b.pl 2011/09/30 10:57:50 14,968
# AIM: Add auto pilot to f14b - first attempt
# 24/09/2011 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; Term::ReadKey; Time::HiRes qw( usleep gettimeofday tv_interval ); GeoCoord; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw prtt local_got_keyboard key_help show_aplocks show_position set_init_position check_auto_mode main_loop get_all_info init give_help need_arg parse_args 

fg_getelev.pl 2008/12/11 19:08:40 6,300
use strict; IO::Socket; POSIX qw(floor nice); Win32::Console::ANSI; 
sub help main main_loop fgfs_connect fgfs_get fgfs_set fgfs_send error 

fg_httpd.pl 2012/01/01 19:47:38 12,100
# AIM: Given a HOST and a PORT, query the property tree
use strict; warnings; File::Basename; Cwd; LWP::Simple; Term::ReadKey; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file got_keyboard check_keyboard process_body_array process_body_array_simple process_input2 process_input compare_hashes repeat_until_esc give_help need_arg parse_args 

fg_io_xml.pl 2011/04/15 18:38:38 8,911
# AIM: View the contents of a FlightGear IO XML file
# 15/04/2011 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub show_warnings pgm_exit prtw process_in_file give_help need_arg parse_args 

fg_menu_xml.pl 2011/04/18 17:37:18 25,551
# AIM: View the contents of a FlightGear IO XML file
# 15/04/2011 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub process_in_file show_warnings pgm_exit prtw space_split_local path_per_os show_count_hash process_dialog_name collect_item_lines process_file_lines give_help need_arg parse_args 

fg_pattern.pl 2013/04/03 20:41:12 10,073
# AIM: Fly a pattern supplied in a file...
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw prtt hash_ref_valid show_ref_hash process_in_file show_klocks show_klocks2 check_keys connect_to_fg need_arg parse_args give_help 

fg_runways.pl 2013/04/08 19:48:31 24,863
# AIM: Read the xml threshold files
# 08/04/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; XML::Simple; Data::Dumper; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw show_thresholds_hash load_xml_file show_icao_hash get_icao_xml get_groundnet_list process_in_dir load_file need_arg parse_args give_help info 

fg_server_xml2.pl 2012/05/24 20:15:50 39,265
use strict; warnings; Time::gmtime; IO::Socket; Math::Trig; 
sub prt test_conv fgs_rad2deg get_YYYYMMDD_hhmmss_UTC scalar_dot_product norm_vector_length show_quat show_vec3 quat_conj mult_quats mult_vec3 scalar_mult_vector getEulerRad getEulerDeg fromRealImag fromAngleAxis fromLonLatRad euler_get sample_serv_data process_lines get_socket_lines do_testing do_all_servers some_results 

fg_signs.pl 2008/12/12 19:34:46 16,034
use strict; IO::Socket; Cwd; Win32::Console::ANSI; 
sub main read_config parse_options argument read_data main_loop sort_locations names_show_next find_free convert create_sign fgfs_get_coord fgfs_connect fgfs_get fgfs_set fgfs_send ll2xyz xyz2ll coord_dist_sq ls fatal log 

fg_signs_convert.pl 2008/12/11 19:05:32 597
# AIM:
use strict; warnings; 
sub convert 

fg_signs_test.pl 2008/12/13 13:09:50 7,091
# AIM: Just TESTING parts of the original 'signs' perl script
# 12/12/2008 geoff mclane http://geoffair.net/mperl
use strict; warnings; Cwd; Win32::Console::ANSI; 
sub coord_dist_sq sort_locations sort_per_a_location read_config ls ll2xyz read_data fatal log 

fg_sqaure-ok.pl 2011/07/23 19:39:44 119,596
# AIM: Through a TELNET connection, fly the aircraft on a course
# 16/07/2011 - Try to add flying a course around YGIL, using the autopilot
# 15/02/2011 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; IO::Socket; Term::ReadKey; Time::HiRes qw( usleep gettimeofday tv_interval ); Math::Trig; 
sub get_locations get_curr_posit get_curr_env get_curr_comms get_curr_consumables get_curr_gps get_curr_engine get_curr_Klocks get_curr_sim get_YGIL_route show_warnings pgm_exit prtw prt2 prtt process_in_file set_decimal1_stg_old set_decimal1_stg set_int_stg get_dist_stg_nm normalised_hdg show_distance_heading show_rw_patt set_runway_ends_and_patt init_runway_array fgfs_connect get_exit fgfs_send fgfs_set fgfs_get_w_time fgfs_get fgfs_get_gps fgfs_get_engines fgfs_get_K_locks fgfs_get_position fgfs_get_environ fgfs_get_comms fgfs_get_consumables fgfs_get_gps_alt fgfs_get_gps_gspd_kts fgfs_get_gps_lat fgfs_get_gps_lon fgfs_get_gps_track fgfs_get_gps_track_true fgfs_get_coord fgfs_get_alt fgfs_get_hdg_true fgfs_get_hdg_mag set_SenecaII fgfs_get_hdg_bug fgfs_set_hdg_bug fgfs_get_agl fgfs_get_aspd_kts fgfs_get_gspd_kts fgfs_get_eng_running fgfs_get_eng_rpm fgfs_get_eng_throttle fgfs_get_eng_running2 fgfs_get_eng_rpm2 fgfs_get_eng_throttle2 fgfs_get_K_ah fgfs_get_K_pa fgfs_get_K_pm fgfs_get_K_ra fgfs_get_K_rm fgfs_get_K_hh fgfs_get_wind_speed fgfs_get_wind_heading fgfs_get_wind_east fgfs_get_wind_north fgfs_get_metar fgfs_get_mag_var fgfs_get_comm1_active fgfs_get_comm1_stdby fgfs_get_comm1 fgfs_get_comm2_active fgfs_get_comm2_stdby fgfs_get_comm2 fgfs_get_nav1_radial fgfs_get_nav1_active fgfs_get_nav1_stdby fgfs_get_nav1 fgfs_get_nav2_active fgfs_get_nav2_stdby fgfs_get_nav2 fgfs_get_adf_active fgfs_get_adf_stdby fgfs_get_adf fgfs_get_fuel1_imp fgfs_get_fuel1_us fgfs_get_fuel2_imp fgfs_get_fuel2_us fgfs_get_fuel_lbs fgfs_get_fuel_kgs fgfs_get_aero fgfs_get_fdm fgfs_get_root fgfs_get_desc fgfs_get_sim_info get_position_stg get_current_position got_flying_speed got_keyboard sleep_ms set_dist_stg set_dist_m2kmnm_stg set_hdg_stg1 set_lat_stg set_lon_stg set_hdg_stg headed_to_target show_YGIL_route secs_HHMMSS2 get_longest_rw get_closest_rw_hdg track_to_within_degs get_feet_per_min show_position show_environ show_comms show_consumables show_K_locks check_keyboard show_engines show_engines_and_fuel wait_for_engine wait_for_alt_hold get_hdg_in_range get_mag_hdg_from_true set_hdg_bug head_for_target process_orbit commence_orbit show_sim_info lineup_to_target keyboard_help Point_Inside_Triange Triangle_Area add_arrow_to_center add_img_arrow add_img_circle add_img_line dist_less_or_equal5 draw_text_at_latlon draw_text_at_pos get_circuit_hash get_mid_bl2br get_mid_bl2br2 get_mid_tl2bl get_runways_and_pattern in_world_range is_in_circuit norm_vector_length norm_vector_length2 paint_user_points point_in_circuit process_lat_lon scalar_dot_product scalar_dot_product2 set_circuit_values set_distances_bearings set_hdg_stg3 set_int_dist_stg5 set_min_max set_most_values_plus get_next_pointset process_circuit main_loop give_help need_arg parse_args 

fg_square.pl 2013/04/03 17:20:38 135,728
# AIM: Through a TELNET connection, fly the aircraft on a course
# 03/04/2012 - More changes
# 16/07/2011 - Try to add flying a course around YGIL, using the autopilot
# 15/02/2011 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; IO::Socket; Term::ReadKey; Time::HiRes qw( usleep gettimeofday tv_interval ); Math::Trig; 
sub get_locations get_curr_posit get_curr_env get_curr_comms get_curr_consumables get_curr_gps get_curr_engine get_curr_Klocks get_curr_sim get_curr_orientation get_YGIL_route show_warnings pgm_exit prtw prt2 prtt process_in_file set_decimal1_stg_old set_decimal1_stg set_decimal2_stg set_decimal3_stg set_int_stg get_dist_stg_nm normalised_hdg show_distance_heading show_rw_patt set_runway_ends_and_patt init_runway_array fgfs_connect get_exit fgfs_send fgfs_set fgfs_get_w_time fgfs_get fgfs_get_roll fgfs_get_pitch fgfs_get_heading fgfs_get_orientation get_curr_roll fgfs_get_gps fgfs_get_engines fgfs_get_K_locks fgfs_get_position fgfs_get_environ fgfs_get_comms fgfs_get_consumables fgfs_get_gps_alt fgfs_get_gps_gspd_kts fgfs_get_gps_lat fgfs_get_gps_lon fgfs_get_gps_track fgfs_get_gps_track_true fgfs_get_coord fgfs_get_alt fgfs_get_hdg_true fgfs_get_hdg_mag set_SenecaII fgfs_get_hdg_bug fgfs_set_hdg_bug fgfs_get_agl fgfs_get_aspd_kts fgfs_get_gspd_kts fgfs_get_eng_running fgfs_get_eng_rpm fgfs_get_eng_throttle fgfs_get_eng_running2 fgfs_get_eng_rpm2 fgfs_get_eng_throttle2 fgfs_get_K_ah fgfs_get_K_pa fgfs_get_K_pm fgfs_get_K_ra fgfs_get_K_rm fgfs_get_K_hh get_rph_stg2 get_rph_stg fgfs_get_wind_speed fgfs_get_wind_heading fgfs_get_wind_east fgfs_get_wind_north fgfs_get_metar fgfs_get_mag_var fgfs_get_comm1_active fgfs_get_comm1_stdby fgfs_get_comm1 fgfs_get_comm2_active fgfs_get_comm2_stdby fgfs_get_comm2 fgfs_get_nav1_radial fgfs_get_nav1_active fgfs_get_nav1_stdby fgfs_get_nav1 fgfs_get_nav2_active fgfs_get_nav2_stdby fgfs_get_nav2 fgfs_get_adf_active fgfs_get_adf_stdby fgfs_get_adf fgfs_get_fuel1_imp fgfs_get_fuel1_us fgfs_get_fuel2_imp fgfs_get_fuel2_us fgfs_get_fuel_lbs fgfs_get_fuel_kgs fgfs_get_aero fgfs_get_fdm fgfs_get_root fgfs_get_desc fgfs_get_sim_info get_position_stg get_current_position got_flying_speed got_keyboard sleep_ms set_dist_stg set_dist_m2kmnm_stg set_hdg_stg1 set_lat_stg set_lon_stg set_hdg_stg headed_to_target show_YGIL_route secs_HHMMSS2 get_longest_rw get_closest_rw_hdg track_to_within_degs get_feet_per_min sub_two_azimuths show_position show_environ show_comms show_consumables show_K_locks check_keyboard show_engines show_engines_and_fuel wait_for_engine wait_for_alt_hold get_hdg_in_range get_mag_hdg_from_true set_hdg_bug head_for_target process_orbit commence_orbit show_sim_info lineup_to_target keyboard_help Point_Inside_Triange Triangle_Area add_arrow_to_center add_img_arrow add_img_circle add_img_line dist_less_or_equal5 draw_text_at_latlon draw_text_at_pos get_circuit_hash get_mid_bl2br get_mid_bl2br2 get_mid_tl2bl get_runways_and_pattern in_world_range is_in_circuit norm_vector_length norm_vector_length2 paint_user_points point_in_circuit process_lat_lon scalar_dot_product scalar_dot_product2 set_circuit_values set_distances_bearings set_hdg_stg3 set_int_dist_stg5 set_min_max set_most_values_plus get_nxt_ps get_next_pointset get_prev_pointset process_circuit main_loop need_arg parse_args give_help 

fg_telnet.pl 2011/01/02 13:45:10 21,243
# AIM: To RUN FlightGear, and get/send information to it using TELNET
# With much thanks to Franz Melchior for the 'signs' perl script,
# on which this is based.
# Note, although Term::ReadKey is used to CHECK for any keyboard input,
# and the main_loop() is terminated on an ESC keyboard input, the process
# will NOT exit, due to the nature of fork() and exec() as implemented in WIN32
# The secondary process of fork() will WAIT until exec(FG) exits, and at present it appears
# sending the command "quit" is ignored by FG - found sending 'run exit' worked ;=))
# 10/12/2010 Review - Updated to FG 2.0 (C:\FG\28) - Showed a/c position...
# 13/12/2008 geoff mclane http://geoffair.net/mperl
use strict; warnings; IO::Socket; Cwd; Win32::Console::ANSI; Term::ReadKey; Time::HiRes qw( usleep gettimeofday tv_interval ); 
sub get_playback_nodes set_verbosity chk_arg parse_args main got_keyboard my_sleep secs2minsecs get_decimal_stg get_heading_stg get_sg_dist_stg get_dist_stg main_loop fgfs_connect fgfs_send fgfs_get_coord fgfs_get_altitude fgfs_get_heading fgfs_get_agl get_parking_node fgfs_get_parking fgfs_set set_parking_break fgfs_get ll2xyz xyz2ll coord_dist_sq fatal mylog 

fg_telnet02.pl 2012/03/22 20:53:16 21,275
# AIM: To RUN FlightGear, and get/send information to it using TELNET
# With much thanks to Franz Melchior for the 'signs' perl script,
# on which this is based.
# 19/04/2011 - Switched to this version 02, which no longer 'runs' the fg
# EXE, and removed the ANSI coloring attempt!
# Note, although Term::ReadKey is used to CHECK for any keyboard input,
# and the main_loop() is terminated on an ESC keyboard input, the process
# will NOT exit, due to the nature of fork() and exec() as implemented in WIN32
# The secondary process of fork() will WAIT until exec(FG) exits, and at present it appears
# sending the command "quit" is ignored by FG - found sending 'run exit' worked ;=))
# 10/12/2010 Review - Updated to FG 2.0 (C:\FG\28) - Showed a/c position...
# 13/12/2008 geoff mclane http://geoffair.net/mperl
use strict; warnings; IO::Socket; IO::Select; Cwd; Term::ReadKey; Time::HiRes qw( usleep gettimeofday tv_interval ); 
sub VERB1 VERB2 VERB5 VERB9 fatal pgm_exit get_playback_nodes got_keyboard my_sleep_secs secs2minsecs get_decimal_stg get_heading_stg get_sg_dist_stg get_dist_stg check_key_sleep fgfs_get_raw get_all_nodes get_all_nodes_bad main_loop fgfs_connect_no_better fgfs_connect fgfs_send fgfs_get_coord fgfs_get_altitude fgfs_get_heading fgfs_get_agl get_parking_node fgfs_get_parking fgfs_set set_parking_break fgfs_get ll2xyz xyz2ll coord_dist_sq main set_verbosity chk_arg parse_args 

fg_test.pl 2011/09/30 19:58:32 8,888
# AIM: Just a test module
# 24/09/2011 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; Term::ReadKey; Time::HiRes qw( usleep gettimeofday tv_interval ); GeoCoord; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw prtt local_got_keyboard get_lat_y_lon_x run_test give_help need_arg parse_args 

fg_wsg84.pl 2013/03/08 20:58:13 16,336
# AIM: Emulate various SG services...
# fg_geo_inverse_wgs_84($lat1, $lon1, $lat2, $lon2, $ref_az1, $ref_az2, $ref_s);
# Convert two lat,lon cordinates, to distance, and azimuth, and
# fg_geo_direct_wgs_84($lat1, $lon1, $az1, $s, $ref_lat2, $ref_lon2, $ref_az2 );
# Calculate from one lat,lon coordinate, on azimuth, for distance, to second lat,lon
# lat,lon,asimuth in degrees, distance in meters.
# 08/03/2013 - Only if set_debug_on(1) output the FAILURE message
# 08/03/2013 - Fix an iternation bug in fg_geo_inverse_wgs_84()
# 17/12/2008 geoff mclane http://geoffair.net/mperl
use constant PI => 4 * atan2(1, 1); 
sub set_debug_on get_fg_PI fg_geo_inverse_wgs_84 FG_MO fg_geo_direct_wgs_84 fg_ll2xyz fg_xyz2ll fg_coord_dist_sq fg_coord_distance_m fg_lat_lon_distance_m myGeod_DEG_FT_ToCart myCart_To_Geod func_floor 

fgam2dsp.pl 2009/06/09 14:36:46 83,216
# AIM: Read Makefile.am set, and generate MSVC6 DSW/DSP files for the project.
# SPECIFICALLY geared towards SimGear and FlightGear - NOT GENERALISED!!!
# 19/09/2008 - geoff mclane - http://geoffair.net/fg/
use strict; warnings; Cwd; File::Basename; 
sub add_group_start add_group_end exclude_dir exclude_file give_little_help set_input_dir parse_arguments add_2_msvc add_2_libs add_2_libpaths read_am2dsp_rc scan_configure add_2_ac_macros trim_all2 is_in_ac_done show_contents read_main_am_file initialize_per_input unquote_cond_val conditional_true_when check_ambiguous_conditional am_error am_line_error generate_dsw expand_here show_rename console_app_dsp_init static_lib_dsp_init dsp_add_source_rule is_in_list show_am_sources process_am_file dsp_finish get_dir_name add_2_used_libs check_lib_paths check_inc_paths show_lib_found check_includes is_c_source_ext is_h_source_ext add_2_source_list add_dupes_dir write_new_dsp trim_line prt_list do_macro_sub2 do_macro_sub prtw show_warnings get_root_name get_dsp_name get_dsw_name file_extension file_title read_am_file scan_one_configure_file 

fgamscan-ok.pl 2008/10/05 13:59:32 28,825
# AIM: To scan makefile.am in FG/SG, and list builds and sources
# 02/10/2008 geoff mclane - http://geoffair.net/fg
# AIManager.hxx AIManager.cxx
#INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/src
#noinst_LIBRARIES = libAircraft.a
#libAircraft_a_SOURCES = \
#noinst_LIBRARIES = libAirports.a
# from C:\FG\20\FlightGear\src\Airports\Makefile.am
#noinst_PROGRAMS = calc_loc
#libAirports_a_SOURCES = \
# apt_loader.cxx apt_loader.hxx \
#calc_loc_SOURCES = calc_loc.cxx
#calc_loc_LDADD = -lsgmath -lsgdebug -lsgmisc -lz $(base_LIBS)
# from C:\FG\20\FlightGear\src\FDM\Makefile.am
#if ENABLE_SP_FDM
#SP_DIR = SP
#else
#SP_DIR =
#endif
#SUBDIRS = JSBSim LaRCsim UIUCModel YASim \
# $(SP_DIR) ExternalNet ExternalPipe
#noinst_LIBRARIES = libFlight.a
# from C:\FG\20\FlightGear\src\FDM\JSBSim\Makefile.am
#SUBDIRS = initialization models input_output math
#noinst_LIBRARIES = libJSBSim.a
#libJSBSim_a_SOURCES = FGFDMExec.cpp FGJSBBase.cpp FGState.cpp JSBSim.cxx
#noinst_HEADERS = FGFDMExec.h FGJSBBase.h FGState.h JSBSim.hxx
#INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/src/FDM/JSBSim
# from C:\FG\20\FlightGear\src\FDM\LaRCsim\Makefile.am
#AIRCRAFT_MODEL = c172_aero.c c172_engine.c c172_gear.c c172_init.c \
#noinst_LIBRARIES = libLaRCsim.a
#libLaRCsim_a_SOURCES = \
# LaRCsim.cxx LaRCsim.hxx \
# $(AIRCRAFT_MODEL) \
# ls_interface.c ls_interface.h
# from C:\FG\20\FlightGear\src\FDM\YASim\Makefile.am
#SHARED_SOURCE_FILES = \
# Airplane.cpp Airplane.hpp \
#noinst_LIBRARIES = libYASim.a
#libYASim_a_SOURCES = YASim.cxx YASim.hxx FGGround.cpp FGGround.hpp $(SHARED_SOURCE_FILES)
#bin_PROGRAMS = yasim
#noinst_PROGRAMS = proptest
#yasim_SOURCES = yasim-test.cpp $(SHARED_SOURCE_FILES)
#yasim_LDADD = -lsgxml -lsgprops -lsgdebug -lsgmisc -lsgstructure $(base_LIBS)
#proptest_SOURCES = proptest.cpp $(SHARED_SOURCE_FILES)
#proptest_LDADD = -lsgxml -lsgprops -lsgdebug -lsgmisc -lsgstructure $(base_LIBS)
# from C:\FG\20\FlightGear\src\GUI\Makefile.am
#noinst_LIBRARIES = libGUI.a
#noinst_PROGRAMS = layout-test
#libGUI_a_SOURCES = \
# new_gui.cxx new_gui.hxx \
#layout_test_SOURCES = layout-test.cxx
#layout_test_LDADD = libGUI.a \
# -lsgprops -lsgdebug -lsgstructure -lsgmisc -lsgxml \
# -lplibpw -lplibpu -lplibfnt -lplibul $(opengl_LIBS)
# from C:\FG\20\FlightGear\src\Input\Makefile.am
#AM_CXXFLAGS = -DPKGLIBDIR=\"$(pkgdatadir)\"
#noinst_LIBRARIES = libInput.a
#libInput_a_SOURCES = input.cxx input.hxx
#bin_PROGRAMS = js_demo fgjs
#js_demo_SOURCES = js_demo.cxx
#js_demo_LDADD = -lplibjs $(base_LIBS) $(joystick_LIBS) -lplibul
#fgjs_SOURCES = fgjs.cxx jsinput.cxx jsinput.h jssuper.cxx jssuper.h
#fgjs_LDADD = -lplibjs -lplibul $(base_LIBS) $(joystick_LIBS) \
# -lsgprops -lsgmisc -lsgio -lsgdebug -lsgstructure -lsgxml -lz
#INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/src -I$(top_srcdir)/src/Main
# C:\FG\20\FlightGear\src\Main\Makefile.am
#EXTRA_DIST = 3dfx.sh runfgfs.in runfgfs.bat.in \
# fg_os_sdl.cxx fg_os.cxx fg_os_osgviewer.cxx fg_os.hxx
#MPLAYER_LIBS = $(top_builddir)/src/MultiPlayer/libMultiPlayer.a
#SP_FDM_LIBS = $(top_builddir)/src/FDM/SP/libSPFDM.a
#SP_FDM_LIBS =
#if WITH_THREADS
#THREAD_LIBS = -lsgthreads $(thread_LIBS)
#THREAD_LIBS =
#GFX_COMMON = fg_os_common.cxx fg_os.hxx
#if USE_SDL
#GFX_CODE = fg_os_sdl.cxx $(GFX_COMMON)
#if USE_GLUT
#GFX_CODE = fg_os.cxx $(GFX_COMMON)
#GFX_CODE = fg_os_osgviewer.cxx $(GFX_COMMON)
#JSBSIM_LIBS = \
# $(top_builddir)/src/FDM/JSBSim/libJSBSim.a \
# $(top_builddir)/src/FDM/JSBSim/initialization/libInit.a \
#bin_PROGRAMS = fgfs metar
#noinst_SCRIPTS = runfgfs.bat runfgfs
#noinst_LIBRARIES = libMain.a
## bin_SCRIPTS = runfgfs
#libMain_a_SOURCES = \
# main.cxx main.hxx \
# $(GFX_CODE)
#fgfs_SOURCES = bootstrap.cxx
#fgfs_LDADD = \
# $(top_builddir)/src/Main/libMain.a \
# $(JSBSIM_LIBS) \
# $(SP_FDM_LIBS) \
# $(MPLAYER_LIBS) \
# -lsgroute -lsgsky -lsgsound -lsgephem -lsgmaterial -lsgtgdb -lsgmodel \
# -lplibpuaux -lplibpu -lplibfnt -lplibjs -lplibnet \
# $(OSG_LIBS) \
# $(THREAD_LIBS) \
# $(network_LIBS) \
# -lz \
# $(openal_LIBS)
#metar_SOURCES = metar_main.cxx
#metar_LDADD = \
# -lsgenvironment -lsgio -lsgbucket -lsgmisc -lsgstructure -lsgdebug \
# -lplibnet -lplibul $(network_LIBS) \
# -lz $(base_LIBS)
#INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/src -I$(top_srcdir)/src/FDM/JSBSim
# C:\FG\20\FlightGear\src\Network\Makefile.am
#EXTRA_DIST = jpg-httpd.cxx jpg-httpd.hxx \
# multiplay.cxx multiplay.hxx
#noinst_LIBRARIES = libNetwork.a
#if ENABLE_JPEG_SERVER
#JPEG_SERVER = jpg-httpd.cxx jpg-httpd.hxx
#JPEG_SERVER =
#MPLAYER_AS = multiplay.cxx multiplay.hxx
#libNetwork_a_SOURCES = \
# protocol.cxx protocol.hxx \
# $(JPEG_SERVER) \
# $(MPLAYER_AS) \
# generic.hxx generic.cxx
use strict; warnings; File::Basename; 
sub process_one_am_file process_primary write_temp_dsp list_to_arrays sub_fg_dir get_value_from_hash extract_from_hash process_AM_file prtw show_warnings 

fgamscan.pl 2009/06/09 14:40:44 32,955
# AIM: To scan makefile.am in FG/SG, and list builds and sources
# 23/11/2008 - Add CHECK OF SOURCE LOCATION
# 22/11/2008 - seems to work ok ;=))
# 05/10/2008 - Part of a series of Perl scripts to compare and show changes
# in the build files of FlightGear and SimGear
# 02/10/2008 geoff mclane - http://geoffair.net/fg
# AIManager.hxx AIManager.cxx
#INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/src
#noinst_LIBRARIES = libAircraft.a
#libAircraft_a_SOURCES = \
#noinst_LIBRARIES = libAirports.a
# from C:\FG\20\FlightGear\src\Airports\Makefile.am
#noinst_PROGRAMS = calc_loc
#libAirports_a_SOURCES = \
# apt_loader.cxx apt_loader.hxx \
#calc_loc_SOURCES = calc_loc.cxx
#calc_loc_LDADD = -lsgmath -lsgdebug -lsgmisc -lz $(base_LIBS)
# from C:\FG\20\FlightGear\src\FDM\Makefile.am
#if ENABLE_SP_FDM
#SP_DIR = SP
#else
#SP_DIR =
#endif
#SUBDIRS = JSBSim LaRCsim UIUCModel YASim \
# $(SP_DIR) ExternalNet ExternalPipe
#noinst_LIBRARIES = libFlight.a
# from C:\FG\20\FlightGear\src\FDM\JSBSim\Makefile.am
#SUBDIRS = initialization models input_output math
#noinst_LIBRARIES = libJSBSim.a
#libJSBSim_a_SOURCES = FGFDMExec.cpp FGJSBBase.cpp FGState.cpp JSBSim.cxx
#noinst_HEADERS = FGFDMExec.h FGJSBBase.h FGState.h JSBSim.hxx
#INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/src/FDM/JSBSim
# from C:\FG\20\FlightGear\src\FDM\LaRCsim\Makefile.am
#AIRCRAFT_MODEL = c172_aero.c c172_engine.c c172_gear.c c172_init.c \
#noinst_LIBRARIES = libLaRCsim.a
#libLaRCsim_a_SOURCES = \
# LaRCsim.cxx LaRCsim.hxx \
# $(AIRCRAFT_MODEL) \
# ls_interface.c ls_interface.h
# from C:\FG\20\FlightGear\src\FDM\YASim\Makefile.am
#SHARED_SOURCE_FILES = \
# Airplane.cpp Airplane.hpp \
#noinst_LIBRARIES = libYASim.a
#libYASim_a_SOURCES = YASim.cxx YASim.hxx FGGround.cpp FGGround.hpp $(SHARED_SOURCE_FILES)
#bin_PROGRAMS = yasim
#noinst_PROGRAMS = proptest
#yasim_SOURCES = yasim-test.cpp $(SHARED_SOURCE_FILES)
#yasim_LDADD = -lsgxml -lsgprops -lsgdebug -lsgmisc -lsgstructure $(base_LIBS)
#proptest_SOURCES = proptest.cpp $(SHARED_SOURCE_FILES)
#proptest_LDADD = -lsgxml -lsgprops -lsgdebug -lsgmisc -lsgstructure $(base_LIBS)
# from C:\FG\20\FlightGear\src\GUI\Makefile.am
#noinst_LIBRARIES = libGUI.a
#noinst_PROGRAMS = layout-test
#libGUI_a_SOURCES = \
# new_gui.cxx new_gui.hxx \
#layout_test_SOURCES = layout-test.cxx
#layout_test_LDADD = libGUI.a \
# -lsgprops -lsgdebug -lsgstructure -lsgmisc -lsgxml \
# -lplibpw -lplibpu -lplibfnt -lplibul $(opengl_LIBS)
# from C:\FG\20\FlightGear\src\Input\Makefile.am
#AM_CXXFLAGS = -DPKGLIBDIR=\"$(pkgdatadir)\"
#noinst_LIBRARIES = libInput.a
#libInput_a_SOURCES = input.cxx input.hxx
#bin_PROGRAMS = js_demo fgjs
#js_demo_SOURCES = js_demo.cxx
#js_demo_LDADD = -lplibjs $(base_LIBS) $(joystick_LIBS) -lplibul
#fgjs_SOURCES = fgjs.cxx jsinput.cxx jsinput.h jssuper.cxx jssuper.h
#fgjs_LDADD = -lplibjs -lplibul $(base_LIBS) $(joystick_LIBS) \
# -lsgprops -lsgmisc -lsgio -lsgdebug -lsgstructure -lsgxml -lz
#INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/src -I$(top_srcdir)/src/Main
# C:\FG\20\FlightGear\src\Main\Makefile.am
#EXTRA_DIST = 3dfx.sh runfgfs.in runfgfs.bat.in \
# fg_os_sdl.cxx fg_os.cxx fg_os_osgviewer.cxx fg_os.hxx
#MPLAYER_LIBS = $(top_builddir)/src/MultiPlayer/libMultiPlayer.a
#SP_FDM_LIBS = $(top_builddir)/src/FDM/SP/libSPFDM.a
#SP_FDM_LIBS =
#if WITH_THREADS
#THREAD_LIBS = -lsgthreads $(thread_LIBS)
#THREAD_LIBS =
#GFX_COMMON = fg_os_common.cxx fg_os.hxx
#if USE_SDL
#GFX_CODE = fg_os_sdl.cxx $(GFX_COMMON)
#if USE_GLUT
#GFX_CODE = fg_os.cxx $(GFX_COMMON)
#GFX_CODE = fg_os_osgviewer.cxx $(GFX_COMMON)
#JSBSIM_LIBS = \
# $(top_builddir)/src/FDM/JSBSim/libJSBSim.a \
# $(top_builddir)/src/FDM/JSBSim/initialization/libInit.a \
#bin_PROGRAMS = fgfs metar
#noinst_SCRIPTS = runfgfs.bat runfgfs
#noinst_LIBRARIES = libMain.a
## bin_SCRIPTS = runfgfs
#libMain_a_SOURCES = \
# main.cxx main.hxx \
# $(GFX_CODE)
#fgfs_SOURCES = bootstrap.cxx
#fgfs_LDADD = \
# $(top_builddir)/src/Main/libMain.a \
# $(JSBSIM_LIBS) \
# $(SP_FDM_LIBS) \
# $(MPLAYER_LIBS) \
# -lsgroute -lsgsky -lsgsound -lsgephem -lsgmaterial -lsgtgdb -lsgmodel \
# -lplibpuaux -lplibpu -lplibfnt -lplibjs -lplibnet \
# $(OSG_LIBS) \
# $(THREAD_LIBS) \
# $(network_LIBS) \
# -lz \
# $(openal_LIBS)
#metar_SOURCES = metar_main.cxx
#metar_LDADD = \
# -lsgenvironment -lsgio -lsgbucket -lsgmisc -lsgstructure -lsgdebug \
# -lplibnet -lplibul $(network_LIBS) \
# -lz $(base_LIBS)
#INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/src -I$(top_srcdir)/src/FDM/JSBSim
# C:\FG\20\FlightGear\src\Network\Makefile.am
#EXTRA_DIST = jpg-httpd.cxx jpg-httpd.hxx \
# multiplay.cxx multiplay.hxx
#noinst_LIBRARIES = libNetwork.a
#if ENABLE_JPEG_SERVER
#JPEG_SERVER = jpg-httpd.cxx jpg-httpd.hxx
#JPEG_SERVER =
#MPLAYER_AS = multiplay.cxx multiplay.hxx
#libNetwork_a_SOURCES = \
# protocol.cxx protocol.hxx \
# $(JPEG_SERVER) \
# $(MPLAYER_AS) \
# generic.hxx generic.cxx
use strict; warnings; File::Basename; 
sub process_one_am_file process_in_list process_primary write_gen_dsp write_temp_dsp list_to_arrays begins_with sub_fg_dir sub_fg_dir_OLD get_value_from_hash extract_from_hash process_AM_file prtw show_warnings 

fgapt01.pl 2005/06/17 05:31:48 370
use strict; 

fgchkaircraft.pl 2013/05/07 19:39:20 47,311
# AIM: Check 'data/Aircraft' folder for valid aircraft ...
# 17/03/2013 - Output to CSV, or json
# 22/12/2012 - Output the MAXIMUM aircraft name
# 25/06/2012 - Review, and UI improvements
# 07/12/2008 - added 'status'
# 11/7/2008 - geoff mclane - http://geoffair.net/fg
use strict; warnings; File::Basename; XML::Simple; Data::Dumper; 
sub is_a_skip_file VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw mycmp_decend_asc mycmp_ascend_asc mycmp_ascend_a5 mycmp_ascend_a4 mycmp_ascend_a3 mycmp_nocase get_csv get_json get_xml get_model_file show_hash_ref process_folder get_rate_num process_set_file process_aircraft_folder process_aircraft_folder_OK mycmp_decend show_air_hash load_input_air_text need_arg parse_args give_help 

fgcmp2dsps.pl 2009/10/04 13:54:34 28,042
# AIM: Comparison of TWO DSP files - show different SOURCE files only ...
# 04/10/2009 - SEE cmp2dsps.pl FOR LATEST VERSION!!! Includes headers in compare
# 25/11/2008 - some minor additions to output
# 26/10/2008 - added parse_args() for INPUT files
# 13/08/2008 - geoff mclane - http://geoffair.net/mperl
# Compares SOURCE lists, and compares the config parameters ...
use strict; warnings; File::Basename; File::stat; Cwd; constant { 
sub parse_args comp_v1_with_v2 compare_cfg_of_dsp clear_load process_DSP compare_dsp_with_dsp fg_is_same_file_name is_same_file unix_2_dos sub_common_folder prtw show_warnings 

fgdsphdrs.old.pl 2008/10/06 15:04:48 24,083
sub get_dsp_head_console get_dsp_head_app get_dsp_head_slib get_dsp_head_dynalib get_dsp_tail get_dsw_head get_dsw_tail get_default_sub get_dsp_header_text fg_get_runtime_val_2_lts get_app_conf_type adjust_app_type_per_subsystem write_hash_to_DSP 

fgdsphdrs.pl 2009/08/16 15:21:16 33,783
sub set_dbg_props get_dsp_head_console get_dsp_head_app get_dsp_head_slib get_dsp_head_static_MD get_dsp_head_dynalib get_dsp_tail get_dsw_head get_dsw_tail get_default_sub get_dsp_header_text fg_get_runtime_val_2_lts get_app_conf_type adjust_app_type_per_subsystem get_balance_of_line_bump_offset get_if_props add_dotrel_if_none write_hash_to_DSP get_proj_begin get_proj_end write_proj_DSW 

fgdsphdrs02.pl 2009/10/19 16:32:38 41,782
sub set_dbg_props get_app_type_4_short get_app_type_stg strip_quotes_02 dos_2_unix_02 scan_DSP_lines process_DSP_file get_dsp_head_console get_dsp_head_app get_dsp_head_slib get_dsp_head_static_MD get_dsp_head_dynalib get_dsp_tail get_dsw_head get_dsw_tail get_default_sub get_default_sub2 get_dsp_header_text fg_get_runtime_val_2_lts get_app_conf_type adjust_app_type_per_subsystem get_balance_of_line_bump_offset get_if_props add_dotrel_if_none write_hash_to_DSP2 get_proj_begin get_proj_end write_proj_DSW 

fgdsphdrs03.pl 2010/09/11 17:34:28 77,418
use strict; warnings; Cwd; 
sub set_dbg_props get_fetch_function get_default_sub3 get_default_sub_ref get_app_type_hash_ref_short get_app_type_4_short get_app_type_stg strip_quotes_02 dos_2_unix_02 scan_DSP_lines process_DSP_file get_list_of_subs get_project_name get_common_dsp_head get_targ_type_ref get_based_on_ref get_APP_TYPE_string get_project_type is_dll_project is_app_project get_based_on_stg add_targ_type add_def_config3 add_def_config get_configs_array3 get_configs_array get_hash_version add_message_section get_compile_block get_project_flag get_dsp_head_stg get_def_lib_list get_dsp_console_rel get_dsp_console_dbg get_dsp_app_rel get_dsp_app_dbg get_dsp_slib_rel get_dsp_slib_dbg get_dsp_dynalib_rel get_dsp_dynalib_dbg get_dsp_tail get_dsw_head get_dsw_tail get_dsp_header_text fg_get_runtime_val_2_lts get_app_conf_type adjust_app_type_per_subsystem get_balance_of_line_bump_offset get_if_props add_dotrel_if_none write_hash_to_DSP3 get_proj_begin get_proj_end get_proj_depends3 get_bat_head add_bat_copy write_proj_DSW3 get_simple_DSW_txt 

fgdspscan.pl 2008/10/11 13:21:14 32,772
use strict; warnings; File::stat; File::Basename; 
sub show_dsp_list show_hash show_key_val scan_DSP_array scan_DSP scan_DSP_OLD_good prtw show_warnings scan_DSP_line 

fgfixfn.pl 2010/04/12 18:48:36 44,492
# AIM: VERY SPECIFIC - read file, and fix footnotes - did a REASONABLE job, but needed some manual touchups
# 2010/04/06 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; File::Basename; Cwd; 
sub pgm_exit prtw show_warnings is_closed_tag is_opt_tag can_find_this_tag is_all_optional show_stack_elements get_attribute_hash_ref get_anchor_hash_ref get_img_hash_ref get_table_element get_table_hash_ref get_ufile_text process_file fix_these_lines show_ref_hash parse_args 

fggenmenu.pl 2010/04/15 18:37:58 13,831
# AIM: VERY SPECIFIC - Take the internal menu javascript, and convert to HTML
# 2010/04/12 - some little fixes...
# 2010/03/24 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; File::Basename; Cwd; 
sub show_warnings pgm_exit prtw gm_strip_quotes gm_strip_both_quotes ignored_lines split_comma process_file get_html_head show_ref_hash 

fgmerge.pl 2010/04/09 15:02:46 30,332
# AIM: SPECIALISED: Take two files - NEW and OLD, and merge the content
use strict; warnings; File::Basename; Cwd; 
sub pgm_exit prtw show_warnings get_img_hash_ref get_table_element get_table_hash_ref process_files parse_args 

fgms-alog.pl 2014/06/01 15:28:59 8,950
# AIM: Given a fgms.log, read, analyse, and show results
# 01/06/2014 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw mycmp_decend_alpha process_in_file need_arg parse_args give_help 

fgms-log-02.pl 2012/07/28 14:46:34 55,210
# AIM: Read a fgms log, and produce tracker information...
# 28/07/2012 - Some updates to run in fgx.ch
# 28/06/2012 - Initial cut
use strict; warnings; File::Basename; Cwd; Time::HiRes qw(gettimeofday tv_interval); Date::Calc qw(Week_of_Year); Time::gmtime; Time::Local; JSON; 
sub sort_results8 output_json6 test_time VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw get_top_link parse_time_string secs_to_DAYS_HHMMSS modify_callsign by_time get_time_stamp extend_active_times extend_times_of_active add_html_pilot_times do_end_week do_end_month process_in_file output_json check_total_times sort_results set_month_hashes set_week_hashes show_start_stop get_header get_tail write_html process_in_files give_help need_arg parse_args 

fgms-log.pl 2012/07/28 13:06:38 54,852
# AIM: Read a fgms log, and produce tracker information...
# 28/06/2012 - Initial cut
use strict; warnings; File::Basename; Cwd; Time::HiRes qw(gettimeofday tv_interval); Date::Calc qw(Week_of_Year); Time::gmtime; Time::Local; JSON; 
sub sort_results8 output_json6 test_time VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw get_top_link parse_time_string secs_to_DAYS_HHMMSS modify_callsign by_time get_time_stamp extend_active_times extend_times_of_active add_html_pilot_times do_end_week do_end_month process_in_file output_json check_total_times sort_results set_month_hashes set_week_hashes show_start_stop get_header get_tail write_html process_in_files give_help need_arg parse_args 

fgscanvc-ok.pl 2008/11/07 13:28:58 43,138
sub dbg_show_entering_files dbg_show_source_files show_hash_results process_VCPROJ xml_array_to_lines fg_xml_to_lines get_string_with_sep get_includes_string get_defines_string get_libpaths_string 

fgscanvc.pl 2009/08/08 19:26:08 54,016
sub dbg_show_entering_files dbg_show_source_files dbg_show_output_files dbg_set_all_scan_debug show_hash_results process_VCPROJ fg_xml_to_lines get_string_with_sep get_includes_string get_defines_string get_libpaths_string xml_array_to_lines 

fgscanvc02.pl 2009/10/17 20:26:46 71,295
sub dbg_show_entering_files dbg_show_source_files dbg_show_output_files dbg_set_all_scan_debug show_hash_results line_2_hash_on_equals add_props_to_hash show_confs_warning pre_process_VCPROJ process_VCPROJ fg_xml_to_lines get_string_with_sep get_includes_string get_defines_string get_libpaths_string xml_array_to_lines 

fgscanvc03.pl 2009/10/29 17:15:04 88,788
sub dbg_show_entering_files dbg_show_source_files dbg_show_output_files dbg_set_all_scan_debug svc_get_dbg_stg show_hash_results3 add_2_source_ref add_props_to_hash show_confs_warning add_any_per_file_items add_config_arrays process_VCPROJ3 fg_xml_to_lines xml_array_to_lines 

fgscenery.pl 2007/03/21 15:32:32 6,806
# AIM: To check and advise what FG scenery is install in a given folder - 2007/03/20 - geoff.
# Scenery / Objects and Terrain
# the enumeration of Terrain (and Objects)
# each base Terrain folder, like say e000n40, contains 10x10 degrees of data
# So the base of e000n40 contains
# -----------------------------
# e000n40, e000n41, ... e000n49
# e001n40, e001n41, ... e000n49
# e009n40, e009n41, ... e001n49
# Then each sub-folder is further borken down into tiles (or buckets)
# so scenery\Terrain\e000n40\e000n40
# contains tiles 2957440.btg.gz, 2957448.btg.gz, ..., 2957499.btg.gz
# with corresponding .stg files ...
# from tileentry.hxx
#// ssg tree structure for this tile is as follows:
#// osg::Group(scene)
#// - osg::Group(terrain)
#// - SGPlacementTransform(tile)
#// - osg::LOD(tile)
#// - ssgEntity(tile)
#// - kid1(fan)
#// - kid2(fan)
#// ...
#// - kidn(fan)
# this service, from newbucket.cxx converts a tile index to lat,lon,x,y
#// Parse a unique scenery tile index and find the lon, lat, x, and y
#SGBucket::SGBucket(const long int bindex) {
# long int index = bindex;
# lon = index >> 14;
# index -= lon << 14;
# lon -= 180;
# lat = index >> 6;
# index -= lat << 6;
# lat -= 90;
# y = index >> 3;
# index -= y << 3;
# x = index;
#}
use strict; warnings; 
sub add_2_terrrain add_2_objects submain submain2 process_folder parse_args dos_2_unix conv_bucket_index 

fgscenery02.pl 2011/03/29 15:38:56 8,236
# AIM: Given a fg scenery directory, search and report what scenery is available...
# Note: This is a complete REWRITE of fgscenery.pl
# 29/03/2011 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub process_in_dir show_warnings pgm_exit prtw give_help need_arg parse_args 

fgsetfile.pl 2013/05/07 18:26:11 9,784
# AIM: Process a FG *-set.xml file
# 07/05/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; XML::Simple; Data::Dumper; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file need_arg parse_args give_help 

fgshowmaterials.pl 2009/02/27 15:19:38 8,525
# AIM: Very specific show of 'materials' defined in FG data 'materials.xml'
# 27/02/2009 geoff mclane http://geoffair.net/mperl
use strict; warnings; 
sub trim_xml xml_to_lines outfile process_in_file 

fgsln2dsw.pl 2008/10/26 16:00:56 150,354
# AIM: Read a MSVC7/8/9/?? solution, and vcproj files, and create
# or maybe update an (depreciated, as too hard)
# equivalent DSW/DSP files ...
# 26/10/2008 - more tidying, and writing dsplist.txt file
# 25/09/2008 - massive improvements for parsing PREVIOUS solutions files
# most changes extracted from fgslnlist.pl ...
# 19/05/2008 - Add 'Static Library' DSP header ... still missing 'Dynamic Library'
# 22/04/2008 - Extract DEPENDENCIES from solution file, and add to DSW output
# 14/02/2008 - attempt to get RELATIVE folders correct, both in DSW (and DSP)
# 17/12/2007 - geoff mclane - http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; constant { 
sub Process_SLN_in add_proj_begin add_proj_depends add_proj_end in_list write_DSW_file write_dsp_list_file compare_proj_with_dsp is_same_DOS_file process_DSW process_DSP get_xml_tag tag_typ_2_stg get_tag_typ fg_get_app_type get_app_type split_conf is_in_skip_conf_rel is_in_skip_conf_dbg is_in_skip_lib_rel is_in_skip_lib_dbg set_runtime_dbg set_runtime_rel set_includes set_includes_dbg set_includes_rel get_group_type get_def_group_name get_def_group_filter get_tt_string exclude_from_build reline_xml fg_reline_xml merge_filters get_mapped_lines fg_get_runtime_val_2_lts fg_get_runtime_lts_2_stg fg_get_runtime_stg_2_val fg_get_runtime_stg_2_lts get_xml_sources fg_clear_proj_files is_vcproj resolve_depends process_SLN get_suffix is_rc_file parse_args is_in_array_nc out_src fg_out_src get_header v8_aptype_consistent get_refs_for_pname generate_DSP fg_get_runtime_stg get_runtime_stg array_ref_2_array split_defines prtf out_group_files add_source_files get_refall_groups show_v6_refall add_proj_2_depends write_out_depends set_modest_debug prtw show_warnings 

fgsln2dsw02.pl 2008/10/31 20:06:28 15,065
# AIM: Read solution file (SLN), and extract projects,
# write appropriate DSP file, and finally write DSW file.
# 30/10/2008 geoff mclane - http://geoffair.net/fg
use strict; warnings; File::Basename; Cwd; 
sub fg_add_proj_begin fg_add_proj_depends fg_add_proj_end process_solution_hash show_solution show_solution_simple is_vcproj process_SLN_file prtw show_warnings 

fgslnlist.pl 2008/10/08 14:43:52 107,261
# AIM: Given a MSVC SLN file, show the LIST of VCPROJ files it references
# add saving of the SOURCE files from vcproj files
# potentially scan all directroies, and show source files NOT present in VCPROJ files
# 23/09/2008 - write 'cfg' file for each project, and a
# dependency file ...
# The general processing consists of reading the vcproj xml, and buidling a set of
# has files, under each configuration given ($conf), and at the end, collect all
# the hashed information and store in a single hash, %v6_refall, where the keys ($mask) are
# the project|configuration|runtime - $proj|$conf|$rtime, where $conf is say Win32|Debug
# so we end with $v6_refall{$mask} = [@allarr]; # COPY the ARRAY to the HASH
# The @allarr itself consists of $reserved_word=$item_information
# push(@allarr, "$libraries=[$cdefs]"); from %v8_depend
# push(@allarr, "$defines=[$cdefs]"); from %v8_link (poorly names hash!)
# push(@allarr, "$includes=[$cincs]"); from %v8_includ, etc ... for
# $libpath from %v8_libdep, $outputs from $v8_config{$conf}, $linkout from $v8_linkout{$conf}
# Each %v8_<something> is cleared for each vcproj parsed, in fg_clear_proj_files
# 27/09/2008 added new $postevt from %v8_postbuild{$conf} = say - a TAB separates commands
# PostBuild_Desc=[Copy exe] PostBuild_Cmds=[copy Release\*.exe bin\. copy test.h bin\.]
use strict; warnings; File::Basename; constant { 
sub process_vcproj_xml_lines unix_2_dos fix_rel is_vcproj resolve_depends process_SLN process_sln_file process_sln_file_OLD_but_OK is_my_file process_directory do_directory_scan get_xml_tag tag_typ_2_stg get_tag_typ fg_get_app_type space_split_blocks array_2_hash_on_equals_OLD split_conf is_in_skip_conf_rel is_in_skip_conf_dbg is_in_skip_lib_rel is_in_skip_lib_dbg set_runtime_dbg set_runtime_rel set_includes_dbg set_includes_rel get_group_type get_def_group_name get_def_group_filter fg_get_runtime_val_2_lts fg_get_runtime_lts_2_stg fg_get_runtime_stg_2_val fg_get_runtime_stg_2_lts get_runtime_stg_OLD_NOT_USED fix_rel_path get_suffix is_rc_file is_in_array_nc get_tt_string exclude_from_build fg_reline_xml merge_filters get_mapped_lines get_xml_sources fg_clear_proj_files get_xml_sources_main prtw output_proj_list collect_xml_sources alternative_scan show_warnings array_ref_2_array split_defines prtf out_group_files add_source_files get_refall_groups show_v6_refall write_out_depends set_modest_debug 

fgtelnet.pl 2012/01/01 19:36:46 45,612
# AIM: Get a TELNET connection to fgfs on host port
use strict; warnings; Time::HiRes qw( gettimeofday tv_interval ); Time::gmtime; IO::Socket; Math::Trig; Term::ReadKey; 
sub get_curr_posit get_curr_env get_curr_comms get_curr_consumables get_curr_gps get_curr_engine get_curr_Klocks get_curr_sim get_curr_gear local_get_hhmmss_UTC local_prt prtt show_warnings pgm_exit give_help got_keyboard sleep_ms is_numeric significant_diff get_exit set_decimal1_stg set_dist_stg set_hdg_stg1 set_lat_stg set_lon_stg set_hdg_stg set_int_stg get_dist_stg_nm get_hdg_in_range get_mag_hdg_from_true secs_HHMMSS2 fgfs_connect close_fgfs_io fgfs_send fgfs_set fgfs_get fgfs_get_with_delay fgfs_get_repeat fgfs_get_no_clean fgfs_get_coord fgfs_get_alt fgfs_get_hdg_true fgfs_get_hdg_mag fgfs_get_hdg_bug fgfs_set_hdg_bug fgfs_get_agl fgfs_get_aspd_kts fgfs_get_gspd_kts fgfs_get_position show_position fgfs_get_eng_running fgfs_get_eng_rpm fgfs_get_eng_throttle fgfs_get_engine show_engine show_engine_change fgfs_get_brake_left fgfs_get_brake_right fgfs_get_brake_parking fgfs_get_brakes fgfs_get_parking_brake show_brakes show_brakes_change fgfs_get_aero fgfs_get_fdm fgfs_get_root fgfs_get_desc fgfs_get_sim_info show_sim_info show_sim_info_change fgfs_get_fuel1_imp fgfs_get_fuel1_us fgfs_get_fuel2_imp fgfs_get_fuel2_us fgfs_get_fuel_lbs fgfs_get_fuel_kgs fgfs_get_consumables show_consumables show_consumables_change fgfs_get_wind_speed fgfs_get_wind_heading fgfs_get_wind_east fgfs_get_wind_north fgfs_get_metar fgfs_get_metar_with_delay fgfs_get_metar_repeat fgfs_get_mag_var fgfs_get_metar_second fgfs_get_environ show_environ show_environ_change fgfs_get_comm1_active fgfs_get_comm1_stdby fgfs_get_comm1 fgfs_get_comm2_active fgfs_get_comm2_stdby fgfs_get_comm2 fgfs_get_nav1_radial fgfs_get_nav1_active fgfs_get_nav1_stdby fgfs_get_nav1 fgfs_get_nav2_active fgfs_get_nav2_stdby fgfs_get_nav2 fgfs_get_adf_active fgfs_get_adf_stdby fgfs_get_adf fgfs_get_comms show_comms show_comms_change fgfs_get_K_ah fgfs_get_K_pa fgfs_get_K_pm fgfs_get_K_ra fgfs_get_K_rm fgfs_get_K_locks show_K_locks show_K_locks_change is_show_time check_keyboard show_items show_intervals 

fgutils.pl 2009/10/25 16:55:38 15,054
use File::stat; File::Basename; 
sub get_def_src_filt get_def_hdr_filt get_def_rcs_filt get_def_spl_filt get_def_src_grp get_def_hdr_grp get_def_rcs_grp get_def_spl_grp open_log prt mydie close_log write2file append2file trim_ends trim_all path_u2d path_d2u get_relative_path get_rel_dos_path rename_2_old_bak add_quotes is_in_array is_c_source is_c_source_extended is_h_source is_h_special is_h_source_extended is_resource_file strip_dotrel space_split space_split_OLD array_2_hash_on_equals strip_quotes strip_both_quotes massage_command show_file_stat fix_rel_path 

fgutils02.pl 2012/03/03 17:29:15 24,568
use strict; warnings; File::stat; File::Basename; 
sub get_def_src_filt get_def_hdr_filt get_def_rcs_filt get_def_spl_filt get_def_src_grp get_def_hdr_grp get_def_rcs_grp get_def_spl_grp open_log prt mydie close_log write2file append2file trim_ends trim_all path_u2d path_d2u get_relative_path_reversed_words get_relative_path get_rel_dos_path rename_2_old_bak rename_2_old_bak_plus add_quotes is_in_array is_c_source is_c_source_extended is_h_source is_h_special is_h_source_extended is_resource_file is_config_file_like is_text_ext_file strip_dotrel space_split space_split_to_rh array_2_hash_on_equals strip_quotes strip_both_quotes massage_command show_file_stat fix_rel_path3 fix_rel_path line_2_hash_on_equals get_vs_vars_bat get_vs_install_dir get_string_with_sep get_includes_string get_defines_string get_libpaths_string 

fgvc2dsp.pl 2008/10/31 19:57:20 86,655
# AIM: Process a VCPROJ file, extract SOURCES and information, and write DSP file
# 28/10/2008 - Rewrite of fgsln2dsp.pl, processing just ONE VCPROJ file,
# and writting a (temporary) DSP file ...
use strict; warnings; File::Basename; Cwd; constant { 
sub get_group_type split_conf is_in_skip_conf_rel is_in_skip_conf_dbg is_in_skip_lib_rel is_in_skip_lib_dbg set_runtime_dbg set_runtime_rel set_includes set_includes_dbg set_includes_rel fg_get_runtime_val_2_lts_COPY fg_get_runtime_lts_2_stg fg_get_runtime_stg_2_val fg_get_runtime_stg_2_lts fg_get_app_type get_tag_typ get_xml_tag get_mapped_lines fg_reline_xml exclude_from_build get_xml_sources fg_clear_proj_files array_ref_2_array get_refall_groups get_refs_for_pname get_header v8_aptype_consistent out_src fg_out_src generate_DSP prtw show_warnings 

fgvc2dsp02.pl 2009/02/17 13:49:56 2,074
# AIM: Scan a single VCPROJ file, and extract information
# geoff mclane - http://geoffair.net/fg
use strict; warnings; 
sub prtw show_warnings 

filecount.pl 2011/05/19 19:50:56 9,433
use strict; warnings; File::Basename; File::Spec; File::stat; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 scan_dir show_warnings pgm_exit prtw mycmp_decend_n1 mycmp_ascend_n1 mycmp_ascend_n4 show_file_array deal_with_verbosity give_help need_arg parse_args 

filelist.pl 2009/10/15 14:14:58 18,371
# AIM: Write a complete list of files, recursively in a directory, to be used by say a zip
# utility. It excludes .svn, .git, and CVS directories from the list,
# and excludes such things as *.obj, etc
# 2009/10/13 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; File::Basename; Cwd; File::stat; 
sub scan_directory VERB1 VERB2 VERB3 VERB4 VERB5 VERB6 VERB7 VERB8 VERB9 VERB10 VERB11 list_exclude_ext give_help show_warnings pgm_exit prtw sub_root_dir path_2_dos has_excluded_dir is_in_array_nc get_nn bytes2ks get_size_msg got_includes is_in_includes out_file_list need_arg parse_args 

find-incs.pl 2012/05/20 12:08:46 11,318
use strict; warnings; File::Basename; Cwd; File::stat; 
sub process_dir process_file VERB1 VERB2 VERB5 VERB9 prtw show_warnings pgm_exit mycmp_decend process_input show_done show_not_found need_arg process_args give_help 

find_dirs.pl 2009/10/03 20:27:44 6,077
use strict; warnings; File::Basename; Cwd; File::stat; 
sub process_dir prtw show_warnings pgm_exit is_my_file_type get_max_len_stg blank_while_same mycmp_decend mycmp_ascend show_dir_ref 

find_in_inctrail.pl 2012/06/06 19:47:06 52,056
# AIM: Given an in C/C++ file, check for #include "file" and #include <file>
# statements, and follow the trail, listing ALL included files, included ...
# And SEARCH each for a $find text, and advise ...
# 30/05/2012 - Another attempt to improve UI
# 17/03/2012 - some fixes
# 20/07/2011 - add some enhancement
# 02/08/2008 geoff mclane http://geoffair.net/mperl
# 2009-07-08 - minor adjustment, to know who included who...
# 2009/09/16 - massive FIXES - now looks GOOD
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw unix_2_dos path_per_os fix_dir_string do_dir_scan get_anon_hash get_dir_scan_rh get_dir_scan_hash get_PSDK_directory is_in_sdk_directory same_folder is_same_file in_this_array show_all_missed add_2_included add_2_found_list mycmp_ascend show_found_list C_comment_starts inline_comment_starts C_comment_ends process_file load_vc8_cfg load_vc8_bat get_tmp90_txt get_INCLUDE_Folders fix_rel get_relative_dirs show_rel_fold_set get_msvc_includes in_msvc_includes2 in_msvc_includes need_arg load_folders_from_file parse_args give_help 

findap.pl 2006/09/05 14:41:22 3,718
# AIM: Read FlightGear apt.dat, and list closest airports to a given
# lat and lon ... output $max_cnt in closest order ...
sub mycmp_ascend mycmp_decend 

findap02.pl 2010/11/15 19:33:50 60,212
# AIM: Read FlightGear apt.dat, and find an airport given the name,
# 12/11/2010-11/11/2010 - check out... reduce noise...
# 09/11/2010 - Some UI enhancements... Skip NAV version line, ... FIX20101109
# 17/08/2010 - Fix for windows command -latlon=5,10 becomes -latlon 5 10
# 13/02/2010 - Change to using C:\FGCVS\FLightGear\data files...
# 18/11/2009 - Added Bucket2.pm, to show bucket details - OOPS, would NOT work
# 18/12/2008 - Used tested include 'fg_wsg84.pl' for distance services
# 12/12/2008 - Switch to using DISTANCE, rather than DEGREES, for searching
# for close NAVAIDS ... Add a -range=nn Kilometers
# 19/11/2008 - Added $tryharder, when NO navaid found
# updated 20070526 fixes to run from command line
# Updated 20070405 to parse inputs, added help,
# 20061127 - Use gz (gzip) files directly from $FG_ROOT
# geoff mclane - http://geoffmclane.com/mperl/index.htm - 20061127
use strict; warnings; Time::HiRes qw( gettimeofday tv_interval ); 
sub VERB1 VERB2 VERB5 VERB9 prtw show_warnings pgm_exit get_bucket_info show_scenery_tiles elim_the_dupes show_airports_found get_tile add_2_tiles is_valid_nav set_average_apt_latlon near_an_airport not_in_world_range near_given_point show_navaids_found load_apt_data load_nav_file search_nav mycmp_ascend_n4 mycmp_ascend mycmp_decend mycmp_decend_dist mycmp_decend_ap_dist trimall ll2xyz xyz2ll coord_dist_sq give_help require_arg deal_with_verbosity local_strip_both_quotes load_input_file parse_args 

findap03.pl 2014/07/02 11:56:00 139,331
# AIM: Read FlightGear apt.dat, and find an airport given the name,
# 02/07/2014 - Add -a to output xgraph anoo for airports/runways
# 29/05/2014 - Add -S to show ALL navaiad components - $ALLNAVS
# 21/05/2014 - Show apt.dat used
# 16/08/2013 - Add -out file to output ap text, and nav if -s, to a file.
# 10/04/2013 - Add -xml to output an ICAO.threshold.xml file
# 08/04/2013 - Point to the latest apt.dat.gz - 2.10
# 16/11/2011 - A little more information if -v9
# 16/09/2011 - Fix bug $$g_acnt to $g_acnt about line 650
# 02/05/2011 - Add the tile INDEX to the fg=<chunk>/<tile>/index
# 21/02/2011 - Add AMSL (Airport altitude) to airport output
# 20/02/2011 - If VERB1, add runway center, if VERB2, add runway ends
# 09/02/2011 - Add more information about runways.
# 25/01/2011 - If the raw input looks like a 4 letter ICAO, then search for that
# 29/12/2010 - Add altitude, and frequencies, to airport display ($aalt)
# 15/12/2010 - Fix in the display of the FG CHUNK - now show chunk/tile path, and rwy opp nums
# 26/11/2010 - No show of navs if search a/p, and none found
# 12/11/2010-11/11/2010 - Rel 03 - check out... reduce noise...
# 09/11/2010 - Some UI enhancements... Skip NAV version line, ... FIX20101109
# 17/08/2010 - Fix for windows command -latlon=5,10 becomes -latlon 5 10
# 13/02/2010 - Change to using C:\FGCVS\FLightGear\data files...
# 18/11/2009 - Added Bucket2.pm, to show bucket details - OOPS, would NOT work
# 18/12/2008 - Used tested include 'fg_wsg84.pl' for distance services
# 12/12/2008 - Switch to using DISTANCE, rather than DEGREES, for searching
# for close NAVAIDS ... Add a -range=nn Kilometers
# 19/11/2008 - Added $tryharder, when NO navaid found
# updated 20070526 fixes to run from command line
# Updated 20070405 to parse inputs, added help,
# 20061127 - Use gz (gzip) files directly from $FG_ROOT
# geoff mclane - http://geoffmclane.com/mperl/index.htm - 20061127
use strict; warnings; File::Basename; Time::HiRes qw( gettimeofday tv_interval ); 
sub VERB1 VERB2 VERB5 VERB9 prtw show_warnings pgm_exit get_bucket_info show_scenery_tiles load_gzip_file load_fix_file load_awy_file elim_the_dupes ctr_latlon_stg get_fg_dist_dir get_g_aptlist_off get_atis_info get_current_threshold check_ground_net get_ll_stg show_airports_found get_tile get_tile_calc add_2_tiles is_valid_nav set_average_apt_latlon near_an_airport not_in_world_range near_given_point show_nav_list get_fg_coms show_navaids_found load_apt_data load_nav_file search_nav_name search_nav mycmp_ascend_n4 mycmp_ascend mycmp_decend mycmp_decend_dist mycmp_decend_az mycmp_decend_ap_dist trimall ll2xyz xyz2ll coord_dist_sq get_fix_sample load_fix_hash search_fix_file get_awy_sample show_awy_item load_awy_hash search_awy_file show_awy_array list_awy_file load_awy_hash2 search_awy_file_prev do_looks_like_fix give_help require_arg local_strip_both_quotes load_input_file deal_with_verbosity parse_args get_810_spec 

findaps-win.pl 2011/11/27 21:28:02 24,236
# AIM: There is a BIG findap[nn].pl - This is a SIMPLER version
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file surfRZ sgCartToGeod sgGeodToCart load_apt_data mycmp_decend_dist set_lat_stg set_lon_stg process_in_icao give_help need_arg parse_args 

findaps.pl 2013/04/14 16:12:00 60,121
# AIM: There is a BIG findap[nn].pl - This is a SIMPLER version
# 14/04/2013 - Use later fgdata 2.10
# 19/05/2012 - Add more output according to verbosity
# 20/03/2012 - On help output the apt.dat file name
# 20/01/2012 - Output airport names correctly 'cased', and FIX sub not_on_track($)
# and add nav, fixes and airways loads
# 2011-12-12 - Also compiled and run in Ubuntu, and added -m num to change output count
use strict; warnings; File::Basename; Cwd; 
sub get_nav_type_stg is_defined_nav_type VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file in_world_range surfRZ sgCartToGeod sgGeodToCart load_apt_data mycmp_decend_dist set_lat_stg set_lon_stg set_azimuth_stg not_on_track cased_name get_runways_stg show_distance_list process_in_icao load_gzip_lines load_nav_lines load_fix_lines load_awy_lines load_nav_file show_nav_list load_fix_hash load_fix_file show_fix_list load_awy_file show_awy_list get_bucket_info get_tile get_bucket_wid get_bucket_hgt get_bucket_index show_touching_buckets out_xclude_list give_help need_arg parse_args get_810_spec 

findapX.pl 2014/01/10 17:37:13 78,988
# AIM: Read X-Plane (Robin Pell) apt.dat, and find an airport given the name,
# 21/08/2013 - Also output the airport frequency list
# 09/04/2013 - Add -2fg to output the found airport in FG apt.dat 8.10 format
# geoff mclane - http://geoffmclane.com/mperl/index.htm - 20100801
use strict; warnings; File::Copy; Math::Trig; File::Basename; Time::HiRes qw( gettimeofday tv_interval ); 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw trimall get_current_threshold show_airports_found get_tile add_2_tiles is_valid_nav set_average_apt_latlon near_an_airport show_navaids_found set_apt_version mycmp_ascend_n0 mycmp_ascend_n1 mycmp_ascend_n4 mycmp_ascend_n5 mycmp_ascend_n6 mycmp_ascend mycmp_decend fix_airport_name in_world_range find_ils_for_apt load_apt_data load_nav_file search_nav ll2xyz xyz2ll coord_dist_sq require_arg get_bucket_info look_like_icao IsANumber looks_like_rwy parse_nav_lines give_help parse_args 

findapXok.pl 2013/03/05 13:37:42 58,141
# AIM: Read X-Plane (Robin Pell) apt.dat, and find an airport given the name,
# geoff mclane - http://geoffmclane.com/mperl/index.htm - 20100801
use strict; warnings; Time::HiRes qw( gettimeofday tv_interval ); 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw trimall show_airports_found get_tile add_2_tiles is_valid_nav set_average_apt_latlon near_an_airport show_navaids_found set_apt_version mycmp_ascend_n0 mycmp_ascend_n1 mycmp_ascend_n4 mycmp_ascend_n5 mycmp_ascend_n6 mycmp_ascend mycmp_decend fix_airport_name in_world_range find_ils_for_apt load_apt_data load_nav_file search_nav ll2xyz xyz2ll coord_dist_sq give_help require_arg get_bucket_info look_like_icao IsANumber looks_like_rwy parse_nav_lines parse_args 

findapxok2.pl 2013/04/09 11:31:52 71,768
# AIM: Read X-Plane (Robin Pell) apt.dat, and find an airport given the name,
# 09/04/2013 - Add -2fg to output the found airport in FG apt.dat 8.10 format
# geoff mclane - http://geoffmclane.com/mperl/index.htm - 20100801
use strict; warnings; File::Copy; Math::Trig; Time::HiRes qw( gettimeofday tv_interval ); 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw trimall show_airports_found get_tile add_2_tiles is_valid_nav set_average_apt_latlon near_an_airport show_navaids_found set_apt_version mycmp_ascend_n0 mycmp_ascend_n1 mycmp_ascend_n4 mycmp_ascend_n5 mycmp_ascend_n6 mycmp_ascend mycmp_decend fix_airport_name in_world_range find_ils_for_apt load_apt_data load_nav_file search_nav ll2xyz xyz2ll coord_dist_sq require_arg get_bucket_info look_like_icao IsANumber looks_like_rwy parse_nav_lines give_help parse_args 

findextent.pl 2013/03/17 14:13:02 11,138
# AIM: Search for files of a given extension in a directory, recursive by default
# 17/03/2013 - Rename more to what it does - find files with a specific EXTENSION
# 09/12/2011 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; File::stat; Digest::MD5 qw(md5 md5_hex md5_base64); Cwd; 
sub process_dir VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file process_in_dir process_files give_help need_arg parse_args 

findfile.pl 2013/07/07 11:05:10 7,413
# AIM: Given a file name, and a root directory, search for the file, and out FULL PATH if found
# If no root directory given, use current work directory
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file process_in_dir need_arg parse_args give_help 

findfiles.pl 2013/03/20 12:34:40 9,510
# AIM: Given a search directory, and a file name, or set of files, find then
# and report their locations in the directory structure.
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_dir sub_in_directory is_in_list show_not_found process_in_file need_arg load_file_list parse_args give_help 

findfix.pl 2014/02/22 19:25:53 11,223
# AIM: Given the name of a fix, search for it...
# 11/02/2014 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file write_csv load_xp_fixes load_fix_file find_fix find_fixes need_arg load_input_file parse_args give_help 

findfunc.pl 2010/11/02 21:18:42 21,934
# AIM: Search C/C++ files to find a function...
# 21/10/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub set_debug_value set_debug_on set_debug_off VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw ff_get_root_dir ff_begins_with ff_sub_root_dir ff_get_nxt_sig_char ff_process_file_lines ff_process_in_file ff_show_find ff_process_in_dir ff_show_includes give_help need_arg parse_args 

findinc.pl 2012/05/17 12:50:08 43,089
# AIM: Scan all 'system' headers to find input string ...
# 17/05/2012 - delete (unlink) batch and text when done
# 03/03/2012 - Add -exact, to match EXACTLY.
# 11/09/2011 - Exit if no FIND given, and added version, add $verbosity, and quieten output
# 12/11/2009 - Minor enhancement - show number of file containing find
# 2009-07-09 - minor enhancement to show ALL include files searched
use strict; warnings; File::Basename; 
sub set_found_in_files_count VERB1 VERB2 VERB5 VERB9 prtw show_warnings pgm_exit add_to_files_nc add_to_files_searched get_include_dirs show_file_list add_2_folders add_sub_directories add_folder_includes load_vc8_cfg load_vc8_bat is_whole_test is_whole_test_nc is_whole is_exact C_comment_starts inline_comment_starts C_comment_ends remove_comments process_file process_folder get_vc8_dirs show_config give_help parse_args show_incs_searched 

findinfile.pl 2013/07/07 20:33:42 11,573
# AIM: Find a string in a file, using perl regex
# 07/07/2013 - Improve UI
# 31/05/2011 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; File::stat; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw split_words word_split process_in_file process_in_files show_finds give_help need_arg get_in_file_list parse_args 

findinlib.pl 2011/04/01 17:16:56 12,608
# AIM: Uses 'Dump4' utility so is quite specialized
# Find a 'function' in a library, or set of libraries
# 01/04/2011 - Unless verbosity increased, do NOT show __real@ nor ?? items...
# It sould be nice if something could be done about name mangling or name decoration...
# from : http://en.wikipedia.org/wiki/Name_mangling
# Can be split into 2 type - that for C, and another for C++
# Simple C decoration - 3 cases
# int _cdecl f (int x) { return 0; } - normal default so even without [_cdecl]
# int _stdcall g (int y) { return 0; }
# int _fastcall h (int z) { return 0; }
# Decorations
# _f # _g@4 # @h@4
# Name mangling in C++ - NO STANDARD - each compiler does its own thing ;=(( Here MSVC C++ only
# void h(int) void h(int, char) void h(void)
# ?h@@YAXH@Z ?h@@YAXHD@Z ?h@@YAXXZ
# from : http://en.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B_Name_Mangling
# All mangled C++ names start with ? (question mark).
# The structure of mangled names looks like this: Prefix ? - Optional: Prefix @? - Qualified name - Type
# Qualification is written in reversed order.
# For example myclass::nested::something becomes something@nested@myclass@@.
# Name with Template Arguments - Name fragments starting with ?$ have template arguments
# For example, we assume the following prototype.
# void __cdecl abc<def<int>,void*>::xyz(void);
# The name of this function can be obtained by the following process:
# abc<def<int>,void*>::xyz - order
# xyz@ abc<def<int>,void*> @ - order reversed
# xyz@ ?$abc@ def<int> void* @ @
# xyz@ ?$abc@ V def<int> @ PAX @ @
# xyz@ ?$abc@ V ?$def@H@ @ PAX @ @
# xyz@?$abc@V?$def@H@@PAX@@
# So the mangled name for this function is
# ?xyz@?$abc@V?$def@H@@PAX@@YAXXZ.
# Nested Name
# For example, ?nested@??func@@YAXXZ@4HA means variable ?nested@@4HA(int nested)
# inside ?func@@YAXXZ(void __cdecl func(void)). The UnDecorateSymbolName function returns
# int 'void __cdecl func(void)'::nested for this input.
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw get_dump4_array process_file_list process_file_list2 give_help need_arg got_wild process_wild process_in_file scan_dir parse_args 

findinpath.pl 2013/05/04 15:59:54 14,139
# AIM: Given an input file, find it in the PATH enviroment variable ...
# 04/05/2013 - Allow additional paths to be searched
# 19/10/2011 - show the number of the PATH found in if 1 and exact
# 14/07/2010 - checkout, and add 'potential' finds, like '*item*'...
# 05/05/2008 - geoff mclane - http://geoffair.net/mperl
use strict; warnings; File::stat; Env qw(PATH); 
sub VERB1 VERB2 VERB5 VERB9 in_file_has_wild prt mydie show_warnings pgm_exit prtw strip_quotes YYYYMMDD get_nn check_path find_in_path give_help need_arg parse_args 

findmarray.pl 2009/09/27 11:33:44 9,180
# AIM: VERY SPECIFIC - In a folder, open C/C++ files, and search for multiple arrays array[a][b]...
# 2009/09/26 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; File::Basename; File::stat; 
sub pgm_exit got_2_closing check_line is_c_source_ext is_h_source_ext process_dir scan_file process_files mycmp_decend show_finds 

findmodel.pl 2013/06/24 20:53:47 10,960
# AIM: VERY SPECIFIC - Read model file, and search fgdata for *.ac model file
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file search_fgdata need_arg parse_args give_help 

findnavs.pl 2014/02/24 22:24:58 32,095
# AIM: Given a lat,lon, search for navaids nearby...
# 14/02/2014 - Add -i input file - line separated command
# 12/02/2014 - Also search by NAME
# 13/01/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw is_valid_nav mycmp_decend_n9 load_nav_file load_xnav_file is_in_nav_list show_missed_names search_nav_lines is_vor_type is_ndb_type prtnav prtnav2 ind_in_array filter_vor_pairs show_found_navs vor_pair_filter show_nearest_navs process_in_file is_a_double show_pos get_fg_pos need_arg load_input_file parse_args give_help 

findnumber.pl 2010/07/27 14:03:10 5,108
# AIM: Given a file to search, an da number to search for, see if the number exists on
# and line
use strict; warnings; File::Basename; Cwd; 
sub pgm_exit prtw show_warnings num_in_range process_file process_dir show_found_lines give_help need_arg parse_args 

findpath.pl 2013/12/22 14:15:39 8,500
# AIM: Given an input file, find and output the path to that file
# If not directory given, then use current directory
# 22/12/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw scan_directory sub_in_dir process_in_files need_arg load_input_list parse_args give_help 

fixboostlist.pl 2010/04/22 15:30:26 3,115
# AIM: VERY SPECIFIC
use strict; warnings; File::Basename; Cwd; 
sub pgm_exit prtw show_warnings process_file write_arr_ref cmp_arr_ref 

fixcasts.pl 2009/09/11 14:17:52 65,938
# AIM: An attempt at automating 'cast' fixing
# 9/5/2009 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; File::Basename; 
sub get_dbg_str prtw show_warnings pgm_exit my_exit get_file_line_rh trim_line_head trim_line_end trim_both_ends remove_comments is_semi_colon_termed is_complete_if_statement is_bare_else get_res_string is_termed_or_brace is_line_ifdef_begin is_line_ifdef_else is_line_ifdef_endif is_line_an_ifdef_type get_previous_terminated_line get_error_lines show_line_range get_single_quoted is_line_convertable return_conv_line insert_after_equals insert_after_equals_simple is_simple_line_A_equ_B rename_2_old_bak get_old_or_bak insert_after_return get_fix_key is_fix_key get_equ_count get_param_list got_current_cast eat_current_cast after_func_insert_this_before_that looks_like_a_simple_function get_if_def_msg split_on_comma_but_not_brackets combine_results_to_one process_error_file show_hash write_new_file perform_fixes_from_hash 

fixcmakecache.pl 2011/10/29 17:24:48 9,823
# AIM: VERY SPECIFIC - Read CMakeCache.txt, and adjust paths
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file give_help need_arg parse_args 

fixdiff.pl 2010/05/19 14:29:02 2,092
use strict; warnings; File::Basename; 
sub prt process_file write2file 

fixdsp01.pl 2009/02/25 14:02:20 4,965
# AIM: Very specific changes to be made to a set of DSP files
# In this case, change library output back to normal location - that
# is remove the out:"..\..\lib" from the LIB32 lines, AND
# change the LINK32 line out:"..\..\bin\<something> to
# out:"bin\<something>, and write a NEW amended DSP
# if $outtmpfile is 0 (after renaming the current to OLD/BAK)
# else output a temp.Nnamed>.dsp locally otherwise.
# 25/02/2009 - geoff mclane - http://geoffair.net/mperl
use strict; warnings; File::Basename; 
sub get_files fix_line1 process_files 

fixdsp02.pl 2009/02/25 15:25:42 4,981
# AIM: Very specific changes to be made to a set of DSP files
# In this case, add 2 defines to the compile lines
# 1. Ensure /D "HAVE_CONFIG_H" is there
# 2. Add /D "NOMINMAX", and
# 3. Add /D "_CRT_SECURE_NO_WARNINGS"
# if $outtmpfile is 0 (after renaming the current to OLD/BAK)
# else output a temp.Nnamed>.dsp locally otherwise.
# 25/02/2009 - geoff mclane - http://geoffair.net/mperl
use strict; warnings; File::Basename; 
sub prtw show_warnings get_files fix_line1 process_files 

fixdspfiles.pl 2010/09/24 17:23:50 4,722
# AIM: VERY SPECIFIC - Modify a set of DSP files
use strict; warnings; File::Basename; Cwd; 
sub show_warnings pgm_exit prtw process_in_file process_in_dir give_help need_arg parse_args 

fixfile.pl 2010/08/18 16:02:32 4,515
# AIM: VERY SPECIFIC - Fix a file
use strict; warnings; File::Basename; Cwd; 
sub pgm_exit prtw show_warnings trim_tail process_file give_help need_arg parse_args 

fixrelpath.pl 2007/10/04 16:25:24 3,326
# AIM: Read a set of VCPROJ files, from a SOLUTION file, or FOLDER,
# and AMEND the relative path, and write back the file ...
# 04/10/2007 geoff mclane - http://geoffair.net/mperl
use strict; warnings; File::Basename; 
sub process_sln unix_2_dos fix_rel 

fixsrc.pl 2012/08/03 18:40:54 8,056
# AIM: Quite specific - read in file with list of sources, find source,
# and fax the list
# 03/08/2012 - initial cut
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 is_in_ref_array is_repo_dir is_excluded_dir show_warnings pgm_exit prtw read_dir get_file_list sub_root_dir process_in_file need_arg parse_args give_help 

fixtidydict.pl 2012/01/15 16:48:00 5,848
# AIM: HIGHLY SPECIALISED: Just to modify tidy attrdict.c
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw fix_line process_in_file give_help need_arg parse_args 

fixtitle.pl 2007/08/25 14:16:20 2,505
# AIM: specialized perl, to read a particular XML file,
# extract the file name, and make it into a title, and write results.
# 25/08/2007 geoff mclane - geoffair.net/mperl/
use strict; warnings; 
sub split_file_name 

fixwmdiag.pl 2010/07/26 19:24:14 5,840
# AIM: VERY SPECIFIC FIX FOR wmdiag.cpp file
# 26/07/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub pgm_exit prtw show_warnings process_file give_help need_arg parse_args 

foo.pl 2005/06/07 17:19:38 870
use XML::Simple; Data::Dumper; 

foobar.pl 2010/09/03 19:40:46 1,202
use strict; use warnings; use diagnostics; 
sub prt dispSymbols displaylibSymbols 

fork.pl 2011/09/25 18:51:34 269

fork02.pl 2011/09/26 13:10:56 4,842
# AIM: Some experiments with fork()
# 24/09/2011 geoff mclane http://geoffair.net/mperl
use strict; warnings; IO::Socket; 
sub show_warnings pgm_exit prtw prtt exit_child_flag get_fgfs_values run_child open_fgfs run_process 

form.pl 2005/06/16 14:33:14 412

fplist.pl 2007/06/04 13:36:16 3,904
# AIM: Read an input DIRECTORY, and output a LIST of FRONTPAGE directories
# to be EXCLUDED ...
# 11/04/2007 - geoff mclane - geoffair.com/mperl
use strict; warnings; 
sub get_out_msg give_help require_arg parse_args in_excl_list sub_main process_directory 

ft2m.pl 2014/07/20 17:55:36 6,349
# AIM: Input feet and inches and output meters
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file do_conversion need_arg parse_args give_help 

ftpget01.pl 2006/06/27 20:00:08 2,049
# AIM: To check and test the Perl FTP interface ... 2006.06.27 - geoff.
# ftpfetch01.pl
use Net::FTP; 
sub do_the_rest 

gcc2msvc.pl 2013/03/25 18:47:44 14,253
# AIM: Rought attempt to convert gcc structure initialization to
# something agreeable to MSVC
# NO! ABANDONED ;=(( TOO HARD TO WRITE A C/C++ PARSER
# 25/03/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw is_integer ref_array_contains array_contains process_in_file need_arg parse_args give_help 

gen-defines.pl 2011/07/06 18:36:22 5,562
# AIM: VERY SPECIAL
use strict; warnings; File::Basename; Cwd; 
sub show_warnings pgm_exit prtw process_in_file give_help need_arg parse_args 

gen-servers.pl 2013/04/24 14:36:30 2,801
use strict; warnings; 
sub prt trim_leading trim_tailing trim_ends trim_all write2file load_fgmap_file 

gen_phonebook.pl 2013/09/05 13:51:43 23,378
use IO::Zlib; IO::File; File::Slurp; Data::Dumper; DateTime; Encode; strict; warnings; 
sub prt icao2number trim_tailing trim_leading trim_ends trim_all give_help need_arg parse_args 

genalt.pl 2006/01/10 18:17:46 5,465
# AIM - scan HTML file, and ADD an alt='$fn image', if none found
sub add_alt is_my_file dos_to_unix get_file_name get_path_name prt 

genalt02.pl 2010/03/20 19:34:50 6,774
# AIM: Complete re-write of genalt.pl
# 2010/03/20 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; File::Basename; Cwd; 
sub pgm_exit prtw show_warnings get_img_hash_ref_lc process_file 

genascii.pl 2007/02/20 15:31:24 190

gencast.pl 2009/09/05 19:17:36 5,374
# AIM: Take a line, and convert to MSVC with cast
# Handles several type of lines, but NOT ALL!
# 9/5/2009 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; Clipboard; 
sub conv_line 

genclist.pl 2007/09/29 12:40:20 1,740
# AIM: Convert a set of #define ABC, into a structure
# 28/09/2007 - geoff mclane - http://geoffair.net/mperl
use strict; warnings; 

gencmake.pl 2014/06/20 13:46:52 34,088
# AIM: Given an input folder, roughly generate a CMakeLists.txt from what is seem
# 18/06/2014 - Small enhancements
# 31/07/2012 - Added *.rc files to sources
# 09/07/2012 - Initial cut
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub get_curr_auto_flag get_PATH_SEP get_pgmname get_dsp_out_dir get_write_cmake_files get_write_dsp_files is_excluded_file is_excluded_dir VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw conv_2_cmake process_in_file get_short_form sub_base_dir sub_root_folder process_in_dir add_options_block get_definitions_block get_info_block get_cmake_root load_am_file2 load_am_file chk_for_main process_files_found set_excluded_files set_excluded_dirs need_arg load_input_file parse_args give_help 

genconfig.pl 2012/12/04 15:02:15 9,750
# AIM: Read a directory, and generate config info
# 04/12/2012 - Add -t tile-out, -m map-out, -l layer-out - separate outputs
# 09/11/2012 - Initial cut
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 prt show_warnings pgm_exit prtw append2file out_tilecache out_mapnik fix_dir process_dir process_in_dirs get_layer_txt1 get_layer_txt2 out_layers need_arg parse_args give_help 

gencxxmods.pl 2014/07/06 16:36:18 7,954
# AIM: Given the base name, generate cxx/hxx modules accordingly
# 07/05/2014 - fix module name
# 06/05/2014 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file get_main write_modules need_arg parse_args give_help 

gendbgcode.pl 2008/08/02 11:15:02 9,134
# AIM: Add DEBUG to a C/C++ code file
# 01/08/2008 geoff mclane http://geoffair.net/mperl
use strict; warnings; constant { 
sub C_comment_starts inline_comment_starts C_comment_ends process_file 

gendbglist.pl 2009/10/23 13:45:46 2,272
# AIM: VERY SPECIFIC - generate a perl debug stg block
# 2009/10/23 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; File::Basename; Cwd; 
sub pgm_exit prtw show_warnings process_file 

gendef.pl 2010/10/23 20:16:22 16,306
# AIM: Generate a DLL DEF file from a simple list of functions
# 23/10/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub show_warnings show_missed_conditions pgm_exit prtw process_in_file give_help need_arg load_input_file set_user_cond parse_args 

gendotlist.pl 2007/07/15 17:39:14 1,885
# AIM: Given an input folder, scan it recursively, listing all the files
# that beign with a DOT ...
# 15/07/2007 - geoff mclane
use strict; warnings; File::Basename; 
sub is_fp_folder process_folder 

gendowntable.pl 2010/04/24 20:26:34 5,152
# AIM: Given a set of file, generate a table for download
# 24/04/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; File::stat; Digest::MD5; 
sub pgm_exit prtw show_warnings get_html_head get_table_head get_nn get_YYYYMMDD get_hex_digest process_file_list 

gendowntable02.pl 2011/04/24 18:25:28 24,377
# AIM: Given a set of zip files, prepare a somewhat standard table with
# Date Zip Size MD5 columns.
# 24/04/2011 - Only process ZIP file...
# 21/08/2010 - Add <b> to link, and allow wild cards, like *.zip, *.gz...
# 16/08/2010 - Make it simple - use 'gendowntable .' to do the current directory
# 14/08/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; File::stat; Digest::MD5; File::Spec; File::DosGlob 'glob'; 
sub VERB VERB2 VERB5 VERB9 pgm_exit prtw show_warnings get_html_head get_html_tail get_table_head get_table_header get_nn get_YYYYMMDD get_hex_digest mycmp_decend2 mycmp_decend3 mycmp_decend6 Get_Alpha_Jump process_file_list process_in_files in_exclude_list in_include_list process_dir give_help need_arg load_input_file get_sort_arg pre_process_verbosity add_to_excludes got_wild_char process_wild_card parse_args 

genentities.pl 2008/12/01 19:48:08 19,661
# AIM: To prepare a HTML page, with _ALL_ entities up to 32767
# 11/30/2008 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; 
sub gen_entities gen_entities_vok gen_entities_two_columns gen_entities_simple get_end_links get_html_head get_html_valid dec2hex get_tidy_txt 

genfileindex.pl 2011/12/26 14:46:32 34,053
# AIM: Scan all the files in a FOLDER, and generate a HTML index file,
# containing links to all the files in the FOLDER, both in alphabetic order,
# and in date order, showing the date, name and size of the file.
# 26/12/2011 - Prepare to also run in Ubuntu
# 21/07/2010 - checked and fixed - put in DATE order - seems best
# 02/02/2010 - update
# 21/08/2007 - use ImageMagick 'indentify.exe' (now installed) to get the IMAGE sizes,
# thus improving the bottom image display ...
# 28/06/2007 geoff mclane - geoffair.net/mperl
use strict; warnings; File::Basename; File::stat; Digest::MD5; Cwd; 
sub pgm_exit prtw show_warnings get_hex_digest mycmp_decend_date mycmp_nocase is_my_ext is_htm_ext is_graphic_ext is_zips_ext is_css_ext is_txt_ext is_doc_ext is_script_ext is_special_ext is_exclude_ext get_ext_type scan_folder add_link_line add_sub_table add_file_table get_fg_srczips_head write_html_head write_html_head_2 write_html_tail gen_sub_index in_list add_type_table gen_findex YYYYMMDD local_rename2oldbak local_get_nn is_fp_folder get_image_width get_image_height get_image_size give_help need_arg parse_args 

genfolderindex.pl 2007/10/17 15:21:12 16,127
# AIM: Scan all the files in a FOLDER, and generate a HTML index file,
# containing links to all the files in the FOLDER, both in alphabetic order,
# and in date order, showing the date, name and size of the file.
# 28/06/2007 geoff mclane - geoffair.net/mperl
use strict; warnings; File::Basename; File::stat; 
sub is_my_ext is_htm_ext is_graphic_ext is_zip_ext is_css_ext is_txt_ext is_doc_ext is_script_ext get_ext_type scan_folder add_link_line add_sub_table add_file_table write_html_head write_html_tail gen_sub_index in_list gen_findex YYYYMMDD get_nn is_fp_folder 

genhtmindex.pl 2007/05/24 17:24:10 5,119
# AIM: Given a BASE folder, seek all HTML files, and build
# an 'index' table, as HTML ...
# Commands: in-folder [-out out-file]
use strict; warnings; File::Basename; File::stat; 
sub parse_args my_htm_file is_fp_folder collect_image_files get_nn dos_2_unix 

genhtmlindex.pl 2013/11/05 14:28:41 8,492
# AIM: Given a folder name, seek ALL .htm[l] docs and generate an index.html to jump to each
# Maybe extract the <title> from each to fill out the index table
# 05/11/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file get_html_head process_html my_type process_in_dir need_arg parse_args give_help 

genimgindex.pl 2014/06/15 15:09:07 38,806
# AIM: Given a BASE folder, seek all IMAGE files, and build
# an 'index' table of images, as HTML ...
# Commands: in-folder [-out out-file]
# 06/03/2014 - Add -t <num> to set target width, and -b bare table, suitable for printing
# BUT, is really QUITE SPECIALIZED to generate my 'fg' folder 'Image Index' update,
# in that the @excluded_imgs, and %excluded_html are mainly for that folder,
# and the 'links' are to 'index.htm', #top or #end ... and other things, like
# the CSS include, and javascript include ...
# 22/12/2011 - Do not do a 'table' is just 1 image
# 08/05/2011 - Fix -out file, and fix image paths
# 08/11/2010 - checkout on FSWeekend pics
# 08/12/2008 - externalise im_get_image_size(file_name), adding imgsize.pl requires
# 19/11/2008 - modified to produce say fg/images index
# 27/09/2007 - some features
# $add_dir and $add_siz to ADD a directory and size columns
# and using ImageMagick identify (if installed) to get image dimensions
# 15/03/2008 - add mutiple columns, especially if image constrained to small thumbnail size
# AIM: Given a folder, search for ALL image files
# genimgindex.pl - (see earlier simpe imgindex.pl)
# imgindex.pl
# AIM: To read a FOLDER, finding all image files, and preparing a simple table index
# getimgsize.pl
# AIM: Given a folder, use Imagemagick identify to get the image sizes
# and write a tempjs.js with the image sizes in an array
# imagemagic.pl
# AIM: Test of ImageMagic installation - use Image::Magick;
# imgalt02.pl
# AIM: To extract the <img alt="..." atribute of each image,
# in all (both) English and French version ...
# Read a JetPhoto, fix each entry in the
# studio.plist XML file ... each has to be inserted as
# <key>Description</key>
# <string>English description ... French Description</string>
# and save the new studio.plist file ...
# imgsize.pl - MODULE
# AIM: Use external imagemagick 'identify.exe' to get an image SIZE geometry
# Services: im_get_image_size( file_name ); returns geometry nnnnxnnnn
# im_get_image_width( geometry ); returns WIDTH
# im_get_image_height( geometry ); returns HEIGHT
# imgratio.pl
# AIM: Play with MATH, to re-size an image, keeping the aspect ratio ...
# eof - genimgindex.pl
use strict; warnings; File::Basename; File::Spec; File::stat; Cwd; 
sub collect_image_files VERB1 VERB2 VERB5 VERB9 in_xclude_list get_htm_file_list drop_thumb_name write_html_file in_excluded_images my_in_file is_fp_folder dos_2_unix unix_2_dos path_2_html get_relative_path_test get_html_bgn get_html_body_bgn get_html_begin_table get_html_end_table get_end_link get_old_link get_html_end get_row_jump get_tidy_valid mycmp_decend get_YYYYMMDD_hhmmss need_arg parse_args give_help 

genindex.pl 2005/12/13 18:42:18 2,768
sub get_title is_my_file prt 

genindex04.pl 2013/12/19 13:15:48 17,952
# AIM: Complete re-write - Given an input folder, generate a tempsitemap.htm of
# a complete directory scan
# 10/12/2013 - Add alpha sorted jump list.
# 18/11/2013 - Add description column, from description.csv file
# 06/01/2012 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; File::stat; Cwd; 
sub scan_directory VERB1 VERB2 VERB5 VERB9 is_repo_directory show_warnings pgm_exit prtw process_in_file is_html_like mycmp_nc_n1 write_html mycmp_decend_n2 process_in_directory need_arg load_descriptions parse_args give_help 

genindex2.pl 2006/06/26 14:06:48 8,313
# AIM: genindex2.pl
# to read a FOLDER, find the INDEX HTML file there, and build a LIST of LINK from it
# That list give the HTM file name and title
# FIX20060626 - added option to build list into an Array, giving lnk,file date,title ...
# of form
# var ma = new Array(
# new item( "index.htm", "Index", "Link to main index" ),
# new item( "fgfs-026.htm", "2006-06-06", "FlightGear 0.9.10 with MSVC8"),
# to get the file data, using
# ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
# $atime,$mtime,$ctime,$blksize,$blocks)
# = stat($filename);
# or
# my $sa = stat($filename);
# my $tm = scalar locatime $sa->$mtime;
# UGH - But this is ALL extracted from index.htm ... not exactly what I want now ...
use File::stat; 
sub mth_to_num get_title is_my_file is_index eat_sp prt log_close close_log parse_arguments 

genindex3.pl 2010/08/04 16:35:44 10,321
# AIM: genindex3.pl
# to read a FOLDER, find ALL the HTML files there, and build a LIST
# see genindex2.pl if you want -
# to read a FOLDER, find the INDEX HTML file there, and build a LIST of LINK from it
# From that list of ALL HTM files - output name and title
# FIX20060626 - added option to build list into an Array, giving lnk,file date,title ...
# of form
# var ma = new Array(
# new item( "index.htm", "Index", "Link to main index" ),
# new item( "fgfs-026.htm", "2006-06-06", "FlightGear 0.9.10 with MSVC8"),
# to get the file data, using
# ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
# $atime,$mtime,$ctime,$blksize,$blocks)
# = stat($filename);
# or
# my $sa = stat($filename);
# my $tm = scalar locatime $sa->$mtime;
use File::stat; 
sub write_html mth_to_num get_title is_my_file is_index eat_sp prt log_close close_log parse_arguments 

genjsarray.pl 2008/06/26 14:49:12 2,687
# AIM: Given an input folder, generate a javascript array of file
# 26/06/2008 geoff mclane - http://geoffair.net/mperl/
use strict; warnings; File::Basename; File::stat; 
sub my_in_file is_fp_folder collect_image_files 

genmake.pl 2007/08/07 14:24:52 6,273
# AIM: Given an input folder, file mask, and destination folder,
# write a simple MAKEFILE to copy the found in files, to the destination.
# 29/05/2007 - geoff mclane - geoffmclane.com/mperl/index.htm
use strict; warnings; File::Basename; 
sub prtf len_of_same my_in_file get_in_files require_arg help parse_args prt 

genmiscind.pl 2007/05/24 17:33:04 5,427
# AIM: Given a BASE folder, seek all IMAGE files, and build
# an 'index' table of images, as HTML ...
# Commands: in-folder [-out out-file]
use strict; warnings; File::Basename; File::stat; 
sub parse_args my_img_file my_htm_file my_in_file is_fp_folder collect_image_files get_nn dos_2_unix 

genpass.pl 2008/04/02 20:35:58 7,567
# AIM: generate a STRONG random password
# 02/04/2008 - change from using batch file to control repeats, to directly
# getting the 'Y' from within Perl. This way AVOID
# adding unaccepted passwords to the file, since the file is ONLY written
# if 'Y' is entered ...
# 12/07/2007 - add -s to show password list
# 05/07/2007 - add LOG of passwords generated
# 24/06/2007 - removed log file.
# 20/06/2007 geoff mclane - http://goeffair.net
use strict; warnings; 
sub load_passes is_in_previous write_pass_file give_help show_passes delete_pass require_arg parse_args get_password get_r_pass prt mydie 

genprimes.pl 2007/03/31 20:18:40 1,206
# AIM: To generate all the primes numbers up to a maximum number,
# and insert them into an array, which expands itself ...
# see : http://www.perlmeme.org/tutorials/arrays.html
use strict; warnings; 

genreadme.pl 2014/07/21 19:10:00 9,545
# AIM: Read all current perl scripts, seek 'NAME' and 'AIM', and generate a list
# 21/07/2014 - see also perl-list.pl, whihc does a similar job, outing to txt and html!
# and adds the use items, and the sub's contained.
# 21/07/2014 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; File::stat; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw html_head to_html show_hash show_hash_txt process_in_file process_perl_dir need_arg parse_args give_help 

gensiteindex.pl 2010/04/15 19:19:30 17,874
# AIM: Given a root file, or folder, scan ALL direcotries, build and output
# a site index.
# 2010/04/13 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; File::Basename; Cwd; 
sub process_sub_dir show_warnings pgm_exit prtw os_is_win dos_2_unix unix_2_dos is_fp_folder is_xclude_folder is_excluded_dir is_user_excluded is_this_extent is_htm_ext is_graf_ext is_zip_ext is_css_ext is_txt_ext is_script_ext is_htm_file_ext is_graphic_file_ext is_zip_file_ext is_css_file_ext is_txt_file_ext is_script_file_ext get_file_ext_type type_2_stg add_2_g_file_array get_g_file_array_counts is_def_index_file get_all_files get_html_title get_html_links_array process_html_files mycmp_decend_stgi0 get_html_head build_site_index parse_args 

genslnlist.pl 2008/09/16 12:50:36 3,624
use strict; warnings; File::Basename; 
sub write_out_file trimall removequotes removerel prt compare_lists 

gensource.pl 2009/09/22 18:12:22 2,305
# AIM: VERY SPECIFIC - take a file list, and generate DSP SOURCE lines
# 2009/09/22 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; File::Basename; 
sub get_src_block is_c_source_ext is_h_source_ext process_list 

genspltable.pl 2011/05/19 15:38:30 6,506
# AIM: VERY SPECIAL - just to get the TABLE in HTML
use strict; warnings; File::Basename; Cwd; 
sub show_warnings pgm_exit prtw add_oz_tiles add_eu_tiles add_all_tiles 

gensrclist.pl 2008/11/04 14:46:22 4,645
# AIM: Given a FOLDER input, generate a source list of files in the folder,
# EXCLUDING those with extension in the @excluded_exts list.
# 04/11/2008 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; 
sub give_help parse_args load_directory is_in_array_nc prtw show_warnings 

gensrclist2.pl 2014/07/01 19:02:43 12,406
# AIM: Given a FOLDER input, generate a source list of files in the folder,
# EXCLUDING those with extension in the @excluded_exts list.
# Full re-write of gensrclist.pl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_dir show_files_found need_arg parse_args give_help 

genstruct.pl 2009/08/21 11:37:22 1,938
# AIM: not sure???
use strict; warnings; 

genstruct2.pl 2009/09/25 13:56:52 5,705
# AIM: REAL SPECIFIC - generate a structure
# 2009/09/25 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; 
sub gen_structure 

gensvnexcl.pl 2008/09/14 15:08:40 1,735
# AIM: Read a folder, and build a zip exclude file of all '.svn' folders ...
use strict; warnings; 
sub process_folder remove_base 

gentable.pl 2007/01/27 13:32:26 13,682
# AIM: Generate a BIG link table ... it can contain all 'links', other files, and/or images
# 20070127 - fix for get_nn only
use File::stat; 
sub process_out process_dir get_title in_excluded_dirs in_excluded_fils remove_in_folder is_link_file my_file_ext my_file_name my_file my_path b2KMG get_nn YYYYMMDD 

genthumbs.pl 2013/06/19 13:49:47 19,928
# AIM: Given an imput file, or folder, generate a thumbnail image using imagemagik
# 18/06/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file is_IM_format is_image_ext is_image_file process_a_dir process_in_dirs process_in_files need_arg add_2_inputs parse_args give_help 

gentime.pl 2008/11/27 15:25:00 1,931
# AIM: Just a simple example showing the use of 'localtime' builtin function.
# 27/11/2008 Added 'gmtime', to get UTC/GMT time of a file.
# 29/07/2007 - geoff mclane - http://geoffair.net/mperl/index.htm
use strict; warnings; Time::gmtime; File::stat; 
sub get_date_time get_YYYYMMDD_hhmmss get_YYYYMMDD_hhmmss_UTC 

geo-metar.pl 2011/01/02 20:29:30 319
use strict; warnings; Geo::METAR; 
sub prt 

geo-metar02.pl 2011/07/22 18:38:42 8,778
# AIM: Get the METAR for a particular ICAO
use strict; warnings; File::Basename; Cwd; Socket; LWP::Simple; Geo::METAR; Data::Dumper; 
sub show_warnings pgm_exit prtw celcius_to_fahrenheight fahrenheight_to_celcius trim_metar_txt fetch_url process_in_list give_help need_arg parse_args 

geo-taf.pl 2011/01/02 20:56:24 1,193
use strict; warnings; Geo::TAF; 

getapt.pl 2014/03/02 17:48:57 11,454
# AIM: *** VERY SPECIFIC *** Testing fetching and writing navdata json
use strict; warnings; File::Basename; LWP::Simple; JSON; Data::Dumper; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file fetch_url getapts getaptsx10 show_json count_airports need_arg parse_args give_help 

getapts.pl 2013/03/02 16:07:19 8,970
# AIM: QUITE RESTRICTED - Read an airport CSV file, and find airports closest
# to a given lat,lon
use strict; warnings; File::Basename; Cwd; Time::HiRes qw( gettimeofday tv_interval ); 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw mycmp_ascend_n5 process_in_file need_arg parse_args give_help 

getcfxml.pl 2013/04/25 19:50:22 5,155
# AIM: Get the fgx.ch crossfeed xml feed
# 25/04/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; LWP::Simple; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_url need_arg parse_args give_help 

getcfxml02.pl 2013/05/01 16:33:46 17,478
# AIM: Fetch the crossfeed flights.xml, and keep some flight stats, using XML:Simple
use strict; warnings; File::Basename; File::stat; XML::Simple; Data::Dumper; LWP::Simple; JSON; Cwd; 
sub write_ref_hashes VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw rename_2_nxt_num get_oldest_time_in_dir reload_previous_json get_json mycmp_nc_sort mycmp_ascend_n1 mycmp_decend_n1 get_hash_list out_usage_list process_in_file get_crossfeed need_arg parse_args give_help 

getclopts.pl 2011/01/07 17:54:46 5,102
# AIM: SPECIFIC - Read cl-options.txt file, and convert to hash
# 07/01/2011 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub show_warnings pgm_exit prtw process_in_file show_ref_hash give_help need_arg parse_args 

getcommits.pl 2011/07/07 20:09:52 13,475
# AIM: Get gitorious commits...
# 07/07/2011 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; LWP::Simple; Cwd; 
sub show_warnings pgm_exit prtw process_in_file get_attr_rhash get_url get_html get_html2 show_html_ra give_help need_arg parse_args 

getdifflist.pl 2013/04/11 13:06:26 12,336
# AIM: Use the GNU diff utility to prepare a list for winmerge
# 11/04/2013 - Some UI improvements
# 16/03/2011 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub show_warnings pgm_exit prtw VERB1 VERB2 VERB5 VERB9 set_output_per_path check_diff has_repo_folder get_diff_array get_day_off process_inputs give_help need_arg parse_args 

getfgxlist.pl 2011/07/09 20:10:10 16,055
# AIM: Get google FGx list...
# 01/07/2011 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; LWP::Simple; Cwd; 
sub show_warnings pgm_exit prtw process_in_file get_attr_rhash get_url get_html ignore_tag ignore_text remove_html_entities get_text_in_tag show_text_item process_page_content get_this_page check_a_page show_html_ra give_help need_arg parse_args 

getfilecounts.pl 2010/04/13 19:15:56 9,300
# AIM: Given a root file, or folder, scan ALL directories, and report 'type' counts...
# but in essence this is just a 'template' for further file processing
# 2010/04/13 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; File::Basename; Cwd; 
sub process_sub_dir pgm_exit prtw show_warnings os_is_win dos_2_unix is_fp_folder is_xclude_folder is_excluded_dir is_user_excluded is_this_extent is_htm_ext is_graf_ext is_zip_ext is_css_ext is_txt_ext is_script_ext is_htm_file_ext is_graphic_file_ext is_zip_file_ext is_css_file_ext is_txt_file_ext is_script_file_ext get_file_ext_type type_2_stg add_2_g_file_array get_g_file_array_counts get_all_files parse_args 

getfunclist.pl 2012/06/11 20:12:24 41,135
# AIM: Given a perl script, scan, and output function list, and line number
# 10/06/2012 - Add -c to scan C/C++ and list prototypes, out to a DEF file
# 24/09/2011 - Turn of $debug_on, and add '#' to start of list
# 22/07/2011 - If given TWO perl files, compare the function lists
# 28/08/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 is_cpp_delimiter is_cpp_res_type is_cpp_res_word cpp_space_split remove_comments prtw show_warnings pgm_exit is_prototype add_proto add_func add_functions process_as_c process_as_perl show_ref_hash process_in_file compare_line_arrays compare_lists show_export_hash process_in_files got_wild glob_wild need_arg parse_args give_help 

gethost.pl 2007/03/12 20:06:48 948
# AIM:
use strict; warnings; Socket; Data::Dumper; 
sub showIPAddress 

gethost01.pl 2011/08/13 13:47:36 1,285
# AIM: Get the HOST IP address, using the domain name
# 13/08/2011 - minor update - called by getip.bat
use strict; warnings; Socket; 
sub showIPAddress parse_args 

gethostbyip.pl 2007/03/13 14:03:48 1,196
# AIM: Get the HOST name, given an IP address
use strict; warnings; Socket; 
sub parse_args 

gethrefs.pl 2011/10/20 17:11:00 26,487
# AIM: Parse a HTML file, and extract HREF links
# 20/10/2011 - Add user options - parse_args()
# 18/07/2010 - revisit and test...
use strict; warnings; File::Basename; Cwd; constant { 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw show_results get_href_type_const href_type_to_string get_hrefs_from_string parse_file parse_file2 is_my_extension is_htm_extension is_graphic_extension is_zip_extension is_css_extension is_txt_extension is_script_extension get_file_type_const file_type_const_to_string process_folder is_fp_folder in_excludes in_spl_excludes set_status_case get_all_tag_text unix_2_dos mark_in_all_files in_done_files process_references fits_special_filter show_href_list give_help need_arg parse_args 

gethrefs02.pl 2010/07/19 20:31:58 27,968
# AIM: Parse a HTML file, and extract HREF links
# 18/07/2010 - revisit and test...
use strict; warnings; File::Basename; constant { 
sub pgm_exit show_results url_parse uri_parse2 is_my_extension is_htm_extension is_graphic_extension is_zip_extension is_css_extension is_txt_extension is_code_extension is_script_extension is_bin_extension get_file_type_const file_type_const_to_string fix_rel_url is_http_link get_full_base_href get_href_type_const href_type_to_string get_hrefs_from_string parse_file process_folder is_fp_folder in_excludes in_spl_excludes set_status_case get_all_tag_text unix_2_dos mark_in_all_files in_done_files process_references 

getifarray.pl 2009/10/24 18:27:54 2,477
# AIM: Read a Perl script, and output an 'if' array
# 2009/10/24 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; File::Basename; Cwd; 
sub pgm_exit prtw show_warnings process_file 

getimg4htmurl.pl 2012/02/26 16:49:06 23,663
# AIM: Read a HTML file, and get the <img, and fetch the image via HTTP, and save...
# 23/02/2012 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; File::stat; Cwd; LWP::Simple; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw is_noclose_tag is_optclose_tag is_ext_html is_ext_graf file_has_htm_ext fetch_url get_attr_hash sanetise_filename check_class_list process_html_file process_in_file give_help need_arg parse_args 

getimgsize.pl 2008/12/08 17:22:24 3,655
# AIM: Given a folder, use Imagemagick identify to get the image sizes
# 08/12/2008 - externalise im_get_image_size(file_name)
# 08/07/2008 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; 
sub is_fp_folder is_my_file get_jpg_file_list process_image_list 

GetIPreglocal.pl 2011/08/13 12:57:30 4,402
use Win32::Registry; 

getjson.pl 2012/12/24 18:01:05 9,899
# AIM: Download http://cf.fgx.ch/data json data, or localhost
# 24/12/2012 -
use strict; warnings; File::Basename; Cwd; LWP::Simple; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file colon_split comma_split split_json show_json get_json get_json2 need_arg parse_args give_help 

getmissing.pl 2009/09/25 14:51:02 7,850
# AIM: VERY SPECIAL - read getmissing.txt, containing MSVC output, and list the 'unresolved'
# 9/14/2009 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; 
sub remove_res_words ignore_lines_NOT_USED process_file show_hash 

getmm.pl 2014/07/07 14:14:02 6,865
# AIM: Given a lat,lon [and span], generate and output min/max
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw in_world_range process_in_file process_span need_arg parse_args give_help 

getos.pl 2008/07/28 14:19:44 49

getpwd.pl 2008/03/09 21:50:54 2,023
# AIM: To quietly get UNECHOED password,
# BUT DOES NOT WORK IN WINDOWS IMPLEMENTATION!!!
use strict; warnings; POSIX; 
sub pwread 

getsrclist.pl 2013/07/11 15:07:53 19,441
use strict; warnings; File::Basename; Cwd; File::stat; 
sub VERB1 VERB2 VERB5 VERB9 process_dir prtw show_warnings pgm_exit full_cmake_line split_cmake_line process_cmake_file get_adj_folder process_file mycmp_decend process_input get_items_in compare_srcs give_help need_arg process_args 

gettaf01.pl 2008/01/28 20:05:34 4,384
# AIM: Get the TAF text from a URL page per directory
# 25/01/2008 - geoff mclane
# references
# see from : http://aviationweather.gov/static/help/taf-decode.php - see html/taf-decode.htm
# from : http://mbev.net/wikka/METARSandTAFS
# KJAX 020256Z 02003KT 10SM TSRA OVC01OCB SCT100 BKN130 18/17 A2996
# METAR's will always be published in the same order: see: html/METARSandTAFS.htm
# http://weather.noaa.gov/pub/SL.us008001/DF.an/DC.sflnd/DS.synop
# SEE : http://www.nws.noaa.gov/oso/oso1/oso12/document/guide.shtml for DECODE
use strict; warnings; Socket; LWP::Simple; 
sub replace_all_belowsp fetch_url 

geturl.pl 2008/01/26 22:04:34 52,547
# AIM: Get the text from a URL page ...
# 22/01/2008 - geoff mclane
# references
# see from : http://aviationweather.gov/static/help/taf-decode.php - see html/taf-decode.htm
# from : http://mbev.net/wikka/METARSandTAFS
# KJAX 020256Z 02003KT 10SM TSRA OVC01OCB SCT100 BKN130 18/17 A2996
# METAR's will always be published in the same order: see: html/METARSandTAFS.htm
# see from : http://www.nws.noaa.gov/oso/oso1/oso12/document/guide.shtml
# also from : http://www.faa.gov/about/office_org/field_offices/fsdo/orl/local_more/media/ppt/metar.ppt
# from : http://www.srh.noaa.gov/srh/cwwd/msd/note6.html
# from : http://www.wunderground.com/metarFAQ.asp
# from : http://www.nws.noaa.gov/oso/oso1/oso12/overview.htm
# from : http://www.flyingineurope.be/metar_taf_decode.htm
# from : http://www.alaska.faa.gov/fai/afss/metar%20taf/metcont.htm
# from : http://www.geocities.com/CapeCanaveral/Lab/6799/metarpg.htm
# from : http://www.alaska.faa.gov/fai/afss/metar%20taf/sametar1.htm
# from : http://weather.cod.edu/notes/metar.html
use strict; warnings; Socket; LWP::Simple; 
sub fetch_url show_taf number_format get_descriptor get_obscuration get_precipitation get_other prtw decode_metar load_airport_file get_fix_len show_airport 

geturl02.pl 2008/01/31 20:24:08 89,411
# AIM: Get the text from a URL page ...
# 22/01/2008 - geoff mclane
# references viewed - SEE END OF FILE
# Decodes built with LOTS of empirical testsing, and an account has been taken for
# quite a number of EXCEPTIONS found in decoding the 2600 TAF from the NOAA site.
use strict; warnings; 
sub process_taf_list fetch_url_NOT_USED show_remarks show_taf add_2_exceptions number_format get_descriptor get_obscuration get_precipitation get_other get_weather prtw get_next_hr no_icao_found decode_remarks all_hyphens decode_metar load_airport_file get_fix_len show_airport get_relative_humidity_f 

getvars.pl 2008/10/28 13:06:26 1,988
# AIM: Read the error output, and build a set of names used ...
use strict; warnings; 
sub process_file 

getvcdirs.pl 2010/04/25 18:31:24 12,628
use strict; warnings; 
sub load_vc8_cfg load_vc8_bat add_to_files_nc3 get_include_dirs3 get_vc8_dirs3 

getwarnlist.pl 2009/09/14 11:01:06 4,092
# AIM: VERY SPECIFIC - read getwarnlist.txt, the output of MSVC compile,
# and give a warning list, by project
# 9/13/2009 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; 
sub process_warn_file show_hash_ref 

glGet.pl 2009/06/24 16:38:12 6,719
# AIM: Specialised to process a glGet.xml, and produce a C table
# 23/06/2009 geoff mclane http://geoffair.net/mperl
use strict; warnings; 
sub process_xml_file get_a_value collect_values 

goto-test.pl 2010/10/25 15:57:56 220
use strict; warnings; 

gps01.pl 2005/06/27 11:32:12 6,992
sub output latitude longitude 

gps02.pl 2005/07/08 05:34:44 24,714
sub do_file_output output latitude longitude add_2_list M0 geo_direct_wgs_84 geo_inverse_wgs_84 dist_m html_head new_row in_col in_colb do_html_file 

gps03.pl 2010/12/21 14:33:00 37,541
sub output latitude longitude gps_output process_GPRMC_msg process_sentence M0 geo_direct_wgs_84 geo_inverse_wgs_84 dist_m html_head new_row in_col in_colb get_p_x get_p_y get_p_xy get_graph_msg2 get_graph_msg do_html_table1 do_html_file 

groundnet.pl 2013/09/08 16:36:04 18,167
# AIM: Quite specific - Read a FG airport groundnet.xml and show info
# 30/08/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; XML::Simple; Data::Dumper; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file get_freqs get_parking process_in_icao process_in_icao_as_XML need_arg parse_args give_help 

guessdsp.pl 2011/10/15 15:48:10 40,609
# AIM: Scan the directory and build a GUESSED DSP file
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw get_user_rt get_user_libs get_user_incs get_user_defs get_user_out get_user_inter local_set_new_user_outs is_project_src_excluded is_project_all_excluded set_default_configs_2 file_in_array create_proj_dsp process_in_dir process_in_file give_help need_arg set_project_type got_colon_split colon_split add_defined_item add_include_item show_auto_help set_auto_flag load_input_file set_exclude_project parse_args 

h2h01.pl 2009/08/01 18:07:54 16,229
# AIM: Convert a HTML file, to an online HTML page, color coded...
# 29/07/2009 geoff mclane http://geoffair.net/mperl3
use strict; warnings; File::Basename; File::stat; 
sub write_head open_pre close_pre append_tail conv_spaces html_line add_red add_comm add_blue add_eclass add_quot space_split_keep get_tag_split is_entity process_file 

hashref.pl 2008/10/29 16:35:36 2,847
# AIM: test returning a HASH reference
# 23/01/2008 - geoff mclane
# see hashref02.pl, for a BETTER example
# see: Yahoo! search 'perl indirect reference'
use strict; warnings; 
sub foo add_indirect1 add_indirect2 add_indirect3 get_next_hr_OK is_in_array get_next_hr get_hash prt 

hashref02.pl 2008/10/29 16:36:48 2,252
# AIM: Just testing how to add values to a hash, return that hash, and show
# the values in the hash (reference)
# Inspiration for this example came from -
# http://www.cs.mcgill.ca/~abatko/computers/programming/perl/howto/hash/ - a great page about hashes
# 29/10/2008 - geoff mclane - http://geoffair.net/mperl
use strict; warnings; 
sub show_hash get_hash 

hashtest.pl 2008/11/11 21:29:32 558
# AIM: Test some HASH games
# 11/11/2008 - geoff mclane - http://geoffair.net/mperl
use strict; warnings; 
sub show_hash 

hasmain.pl 2010/08/09 16:10:26 5,821
# AIM: Read a C/C++ file, and search for main() { } function ...
# 09/08/2010 - Added UI
# 20/11/2007 - geoff mclane - http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub pgm_exit prtw show_warnings trim_include_tail get_includes process_files give_help need_arg parse_args 

hasmain02.pl 2014/03/18 17:05:50 12,471
# AIM: Check if a file, or files, or any C/C++ files in a directory, recursive if desired
# has a 'main' function. Uses the lib_chkmain.pl
# Is a complete RE-WRITE of the previous hasmain.pl
# 18/03/2014 - Maybe make note if main() is preceeded by an #ifdef TEST
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw in_exclude_dirs in_exclude_files process_in_file process_in_files scan_directory need_arg parse_args give_help 

hexconv.pl 2008/01/12 14:25:30 1,098
sub hex_color_2_rgb rgb_color_2_hex prt 

hgt_srtm.pl 2011/05/24 18:18:16 13,549
# AIM: VERY SPECIFIC
use strict; warnings; File::Basename; Cwd; 
sub show_warnings pgm_exit prtw process_in_file getSRTM3_Africa getSRTM3_Australia getSRTM3_Eurasia getSRTM3_Islands getSRTM3_North_America getSRTM3_South_America getSRTM1Region1 getSRTM1Region2 getSRTM1Region3 getSRTM1Region4 getSRTM1Region5 getSRTM1Region6 getSRTM1Region7 process_set util_getSRTMContinent util_getSRTM1Region get_func_list show_range process_africa process_all check_for_overlaps 

hilogmax.pl 2014/03/10 22:05:26 9,458
# AIM: *** VERY SPECIFIC *** Read a fgms.log, and NOTE the highest 'max: nn' clients
# 10/03/2014 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw get_model get_pilot process_in_file need_arg parse_args give_help 

hommage-sql.pl 2011/01/19 18:58:56 3,974
# AIM: VERY SPECIFIC
use strict; warnings; File::Basename; Cwd; 
sub show_warnings pgm_exit prtw process_in_file give_help need_arg parse_args 

hrefsub.pl 2006/09/17 19:22:38 1,327
use HTML::Entities qw(encode_entities); 
sub usage start 

hrefsub02.pl 2006/09/17 20:00:02 2,573
use HTML::Entities qw(encode_entities); 
sub start 

htmconv.pl 2006/04/19 20:02:10 1,555
sub prt 

htmimglist.pl 2010/03/19 20:55:12 2,226
# AIM: given a HTML file, list all the 'image' links in the file.
# 19/03/2010 - also report existance of file...
# 06/05/2009 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; 
sub parse_file parse_args 

html-dom.pl 2011/01/12 15:44:48 3,767
# AIM: Test HTML::DOM interface...
use strict; warnings; File::Basename; Cwd; HTML::DOM; Data::Dumper; 
sub show_warnings pgm_exit prtw get_html_dom process_in_file give_help need_arg parse_args 

html01.pl 2006/10/26 10:37:34 1,772
use CGI qw(:standard); CGI; 

html02.pl 2006/10/26 11:08:22 8,244
# AIM: Use HTML::Parser to CLEAN a WORD HTML output
# This is an EVENT parser, so a sub is provided to be
# called on each 'event' ...
use HTML::Parser (); Data::Dump (); 
sub addh h h2_NOT_USED 

html03.pl 2009/03/15 15:24:12 403
use HTML::Macro; 
sub myfunc 

html2text.pl 2006/02/23 17:01:28 1,513
sub parse_arguments prt 

htmlclass.pl 2013/01/18 18:57:07 14,898
# AIM: Get class list from html file
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw line_has_bom remove_utf_bom load_file_lines show_hash split_attrs search_for_find process_in_file need_arg parse_args give_help 

htmlconv.pl 2013/01/15 20:50:10 10,701
# AIM: SPECIALISED - Add an alphbaetic list to openlayers.html
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file need_arg parse_args give_help 

htmllib.pl 2010/04/14 16:41:18 28,747
# AIM: To process a HTML file, parse HTML elements, and return hash reference
# 2010/04/13 - looking good...
# 2010/04/12 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; File::Basename; Cwd; 
sub HL_VERB1 HL_VERB5 HL_VERB9 is_closed_tag is_opt_tag can_find_this_tag is_all_optional pop_optional_elements count_optional_elements show_stack_elements get_element_chain get_attribute_hash_ref get_html_file_hash get_href_type dos_2_unix sub_common_folder_unix fix_rel_unix_path get_local_href find_anchor_name list_files_in_hash_ref 

htmlparse.pl 2008/07/24 13:21:16 1,106
# AIM: Experiment with HTML Parser
use strict; warnings; HTML::TreeBuilder; HTML::Element; 

htmlparse02.pl 2008/07/24 14:56:56 4,476
# AIM:
use strict; warnings; HTML::Parser; 
sub start_sub end_sub text_sub process_sub 

htmltools.pl 2010/03/31 19:46:28 44,515
# AIM: HTML tools - utility functions - 2006-08-26
# to include this, must declare @hrefs and @imgs if
# 20100312 - collecthrefs - remove trailing '"', if present
# collecthrefs( $txt, 1 ) or collectimgs( $txt, 1 ) resp. called
# set added 2009-06-24
# inline_clean_paras($) inline_clean_td($) remove_empty_paras($) remove_doctype($)
# and clean_line_with_wrap($) - and added $htmldbg8 to kill debug outputs
sub set_htools_dbg set_htools_dbg_on set_htools_dbg_off trimbothends tag2newline comments2newline striptag return_tag dropcomments dropcomments_from_array collecthrefs collect_hrefs collecthrefs_nearly_ok collect_anchors ret_anchor_array ret_hrefs_array collectimgs ret_imgs_array removetag remove_script removefont removetagattrib remove_table_attribs removetdattrib removetrattrib substitutions trimblanklines trimblanks trimblanklines_OK_maybe triminlinetd strip_php_script drop_php_from_array htmlexpand dropdoctype html_clean_up1 htmlcleanall get_tag_attr_array split_tag_attrs array_tags2newline clean_line_with_wrap inline_clean_paras inline_clean_td remove_empty_paras remove_doctype 

icao2num.pl 2012/06/16 14:54:59 603
use strict; warnings; 
sub prt icao2number 

iftest.pl 2008/11/11 19:11:38 1,292
# AIM: Test soem IF patterns, from Makefile.am files
# 11/11/2008 - geoff mclane - http://geoffair.net/mperl
use strict; warnings; 

imagemagic.pl 2007/06/29 14:42:34 702
# AIM: Test of ImageMagic installation
use strict; warnings; Image::Magick; 

imgalt01.pl 2006/10/27 20:49:38 14,048
# AIM: To extract the <img alt="..." atribute for translation
# If $addtr is 1, then a search and load current 'tranlation'
# which is added to the table ...
use strict; 
sub do_substitution get_table_block load_existing_table alltags2newline short_text write_out_file get_tag get_att_hash trim_tail strip_quotes show_att_list get_fr out_alt_list extract_img_alts trimall 

imgalt02.pl 2006/11/27 16:00:38 24,736
# AIM: To extract the <img alt="..." atribute of each image,
# in all (both) English and French version ...
# Read a JetPhoto, fix each entry in the
# studio.plist XML file ... each has to be inserted as
# <key>Description</key>
# <string>English description ... French Description</string>
# and save the new studio.plist file ...
use strict; 
sub load_htm_file is_same_tag extract_img_names load_xml_file do_substitution get_table_block load_existing_table alltags2newline short_text write_new_xml write_out_file get_tag get_att_hash trim_tail strip_quotes strip_tail_dots show_comb_alt lead_chars_equal get_comb_desc show_alt_list show_att_list get_fr out_alt_list extract_img_alts trimall 

imgconvert.pl 2011/06/25 20:28:12 24,214
# AIM: Using imagemagick 'convert' convert full jpg images to thumbnils
use strict; warnings; File::Basename; File::Spec; File::Copy; File::stat; Cwd; IO::Handle; 
sub show_warnings pgm_exit prtw get_stdin wait_key_input test_identify test_convert get_imagmagick_versions process_in_file is_my_ext is_graf_ext get_common_name get_image_ratio ensure_path_tail_u ensure_path_tail_d get_html_head get_html_tail process_in_dir give_help need_arg parse_args 

imgindex.pl 2008/12/08 17:36:50 4,704
# AIM: To read a FOLDER, finding all image files, and preparing a SIMPLE table index
# 08/12/2008 - revisited, but has PROBLEM of distorting many images into the FIXED
# display size of 128x128, but does build a SIMPLE index ...
# Also when adding the FULL PATH, leaves 'spaces' in path name, if any.
# Dec 12, 2006 geoff mclane http://geoffair.net/mperl
# Also see genimgindex.pl, which uses Imagemagick, 'identify' app, if installed, to get the image sizes.
use strict; warnings; 
sub is_img_file to_web 

imgindex02.pl 2011/02/15 14:42:20 12,949
# AIM: To read a FOLDER, finding all image files, and preparing a SIMPLE table index
# 14/02/2011 - revisited - genimgindex.pl seems too complicated, so try this one...
# 08/12/2008 - revisited, but has PROBLEM of distorting many images into the FIXED
# display size of 128x128, but does build a SIMPLE index ...
# Also when adding the FULL PATH, leaves 'spaces' in path name, if any.
# Dec 12, 2006 geoff mclane http://geoffair.net/mperl
# Also see genimgindex.pl, which uses Imagemagick, 'identify' app, if installed, to get the image sizes.
use strict; warnings; File::Basename; File::Spec; File::stat; Cwd; 
sub show_warnings pgm_exit prtw is_img_file to_web process_img_folder sort_of_images process_img_list parse_args 

imglist.pl 2013/04/20 11:33:33 12,443
# AIM: Given a folder, search for ALL image files
# 20/04/2013 - add html output
# 08/12/2008 - revisited, and works fine as a SIMPLE LIST
# 19/07/2008 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; File::stat; File::Spec; Time::HiRes qw( gettimeofday tv_interval ); Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw elapsed_seconds is_my_ext is_graphic_ext is_fp_folder get_image_list show_math get_html_head get_html_table get_html_tail write_html_output show_img_list need_arg parse_args give_help 

imgratio.pl 2008/12/08 17:51:50 2,485
# AIM: Play with MATH, to re-size an image, keeping the aspect ratio ...
# 08/12/2008 - add 2 more examples
# 17/08/2007 - geoff mclane - geoffiar.net/mperl/samples
# AIM: Given a folder, search for ALL image files
# genimgindex.pl - (see earlier simpe imgindex.pl)
# AIM: Given a BASE folder, seek all IMAGE files, and build
# an 'index' table of images, as HTML ...
# imgindex.pl
# AIM: To read a FOLDER, finding all image files, and preparing a simple table index
# getimgsize.pl
# AIM: Given a folder, use Imagemagick identify to get the image sizes
# and write a tempjs.js with the image sizes in an array
# imagemagic.pl
# AIM: Test of ImageMagic installation - use Image::Magick;
# imgalt02.pl
# AIM: To extract the <img alt="..." atribute of each image,
# in all (both) English and French version ...
# Read a JetPhoto, fix each entry in the
# studio.plist XML file ... each has to be inserted as
# <key>Description</key>
# <string>English description ... French Description</string>
# and save the new studio.plist file ...
# imgsize.pl - MODULE
# AIM: Use external imagemagick 'identify.exe' to get an image SIZE geometry
# Services: im_get_image_size( file_name ); returns geometry nnnnxnnnn
# im_get_image_width( geometry ); returns WIDTH
# im_get_image_height( geometry ); returns HEIGHT
# imgratio.pl
# eof - imgratio.pl
use strict; warnings; 
sub show_math 

imgsize.pl 2008/12/08 17:18:26 1,185
# AIM: Use external imagemagick 'identify.exe' to get an image SIZE geometry
# Services: im_get_image_size( file_name ); returns geometry nnnnxnnnn
# im_get_image_width( geometry ); returns WIDTH
# im_get_image_height( geometry ); returns HEIGHT
# 21/08/2007 geoff mclane http://geoffair.net/mperl
use strict; warnings; 
sub im_get_image_width im_get_image_height im_get_image_size 

in2cmake.pl 2014/07/17 17:37:24 32,400
# AIM: Try to convert an *.in file to cmake format
# 29/05/2014 - add --full to include comments as well
# 27/05/2014 - some improvements
# 06/02/2014 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file need_arg parse_args give_help 

inch2pas.pl 2013/04/15 15:20:46 679
sub prt 

inctrail.pl 2012/02/07 13:41:16 18,357
# AIM: Given an in C/C++ file, check for #include "file" and #include <file>
# statements, and follow the trail, listing ALL included files, included ...
# 01/08/2010 - check it out, and add UI
# 07/10/2007 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; File::Basename; Cwd; File::Spec; 
sub VERB1 VERB2 VERB5 VERB9 pgm_exit add_2_included trim_comments join_dir_to_file process_file load_vc8_cfg load_vc8_bat unix_2_dos get_INCLUDE_Folders fix_rel same_folder set_INCLUDE_Folders get_system_num process_files give_help parse_args 

inctrail02.pl 2013/07/07 18:11:36 32,380
# AIM: Given an in C/C++ file, check for #include "file" and #include <file>
# statements, and follow the trail, listing ALL included files, included ...
# 07/07/2013 - More UI improvements
# 07/08/2012 - Further UI improvements
# 07/02/2012 - Exlude the $def_file if not $debug_on
# 2010/04/25 - avoid duplicate header output
# 20090817 - add input argument support
# 02/08/2008 - skip over C and inline comments in headers ...
# 20/12/2007 - Process EACH include as and when FOUND
# 07/10/2007 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 process_file prtw show_warnings pgm_exit scan_directories get_root_dirs check_file_dir os_is_windows sub_common_folder_dos sub_in_folder get_INCLUDE_Folders is_excluded_inc unix_2_dos fix_rel add_2_found_list strip_comment add_2_included is_same_file trim_comment_tail add_to_global mycmp_ascend_asc mycmp_ascend show_found_list show_by_folder get_inc_folders list_found_incs C_comment_starts inline_comment_starts C_comment_ends same_folder need_arg add_include_dirs parse_args show_help 

indexone.pl 2010/05/05 14:29:54 7,749
# AIM: Using the file input, create a HTML table item
# 05/05/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; Digest::MD5 qw(md5 md5_hex md5_base64); File::stat; 
sub pgm_exit prtw show_warnings u2d d2u sub_common_folder_dos sub_in_folder YYYYMMDD get_nn get_table_begin process_file give_help need_arg precheck_verb parse_args 

inphones.pl 2008/02/01 13:40:16 3,022
# AIM: A check of the number from one file, are present in another ...
use strict; warnings; 
sub checklines 

input.pl 2008/03/09 18:22:38 868
# AIM: Test getting User keyborad input ...
# 09/03/2008 - geoff mclane - http://geoffair.net/mperl/samples
use strict; warnings; 
sub get_input 

installed.pl 2008/08/07 20:12:00 2,541
# AIM: To enumerate the installed modules ...
use strict; warnings; ExtUtils::Installed; 

IsLeapYear.pl 2010/08/21 15:11:00 1,276
use strict; warnings; 
sub prt IsLeapYear 

isnumber.pl 2009/08/24 17:29:42 1,342
# AIM: Various way to determine if a 'variable' is a number...
# 24/08/2009 geoff mclane http://geoffair.net/mperl
use strict; warnings; 
sub is_number 

iso3166.pl 2006/08/27 18:52:24 77,551
# AIM: Output ISO 3166 table, and
sub adjustedtabletext processtxt processtxt2 html_next_tag html_next_text html_text_2_end inlinetagmax 

iso3166bld.pl 2006/08/27 19:07:54 77,815
# AIM: Output ISO 3166 table, and
sub adjustedtabletext processtxt Array2Text processtxt2 html_next_tag html_next_text html_text_2_end inlinetagmax 

iso639.pl 2006/09/25 19:37:14 7,291
# AIM to download the table from the site, and build a 'validation' table ...
use strict; warnings; LWP::Simple; 
sub is_the_same write2file trimall html_subs 

json-test.pl 2012/06/29 14:17:42 2,382
use strict; warnings; JSON; Time::Local; Date::Calc qw(Week_of_Year); Time::gmtime; 
sub prt get_scalar 

json2html.pl 2013/04/30 15:01:12 19,573
# AIM: Read a JSON file, and output it as HTML
# Based on javascript idea at http://json.bloople.net/
# 10/03/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; JSON; Data::Dumper; Time::gmtime; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_hash mycmp_ascend_t0 get_hash_keys process_hash_VERY_GOOD_BUT process_hash_QUITE_GOOD process_hash_hmmmmmm get_header get_tail process_in_file need_arg parse_args give_help 

k2m.pl 2007/04/04 12:53:26 1,092
# AIM: convert kilometer to miles
# geoff mclane - http://geoffmclane.com/mprerl/index.htm - 2007-04-04
use strict; warnings; 
sub parse_args 

keyboard.pl 2010/12/07 21:10:42 1,128
# AIM: Simple test of polling the keyboard, ussing 'ReadKey'
# 07/12/2010 geoff mclane http://geoffair.net/mperl
use warnings; strict; Term::ReadKey; 
sub got_keyboard forever_loop 

km2miles.pl 2008/06/27 13:57:36 896
# AIM: Take kilometer input, and display statute miles,
# using 1 Kilometer = 0.62137 Miles
# 27/06/2008 geoff mclane - http://geoffair.net/mperl
use strict; warnings; 
sub parse_args prt mydie 

lib_acscan-new.pl 2010/09/29 12:41:50 59,738
use strict; warnings; File::Basename; 
sub scan_configure_ac_file set_dbg_shell_actions ac_set_dbg_extra ac_get_dbg_val_var ac_get_dbg_var ac_set_dbg_var ac_get_dbg_range ac_get_dbg_stg ac_set_debug_flags ac_set_all_dbg_on ac_set_all_dbg_off ac_do_dir_scan ac_is_file_in_scan ac_match_dir_for_c_source show_ac_hash ac_is_shell_action ac_local_space_split grep_for_value ac_return_regex2 ac_return_regex get_cut_range ac_set_by_shell_action ac_split_macros ac_add_2_ac_macros ac_do_macro_subs accumulate_ac_macro accumulate_with_back ac_am_conf_line_error ac_trim_all2 trim_ac_define 

lib_acscan.pl 2012/05/15 19:39:00 63,636
use strict; warnings; File::Basename; 
sub scan_configure_ac_file set_dbg_shell_actions ac_set_dbg_extra ac_get_dbg_val_var ac_get_dbg_var ac_set_dbg_var ac_get_dbg_range ac_get_dbg_stg ac_set_debug_flags ac_set_all_dbg_on ac_set_all_dbg_off set_exclude_repo is_repo_folder ac_do_dir_scan ac_is_file_in_scan ac_match_dir_for_c_source show_ac_hash ac_is_shell_action ac_local_space_split grep_for_value ac_return_regex2 ac_return_regex get_cut_range ac_set_by_shell_action ac_split_macros ac_add_2_ac_macros ac_do_macro_subs accumulate_ac_macro accumulate_with_back ac_am_conf_line_error ac_trim_all2 trim_ac_define 

lib_amscan-bad.pl 2011/01/28 20:15:34 141,196
use strict; warnings; File::Basename; Cwd; 
sub am_process_AM_file am_set_dbg_base am_dbg_val_var am_get_dbg_var am_get_dbg_stg am_get_dbg_range am_set_dbg_var am_clear_dbg_var am_set_all_dbg_on am_set_all_dbg_off skip_these_strings am_macro_split valid_for_am_test show_scalar_hash show_all_subs key_in_cond_TRUE key_in_cond_FALSE key_in_cond_TRUE_or_FALSE key_in_a_conditional am_test_for_substitution am_test_for_substitution_VERY_OK_BUT value_not_in_first get_value_from_hash show_target_list process_target_list a_source_does_exist a_source_does_exist_ok am_extract_from_hash is_macro_type add_2_hoh_subs add_key_value_2_hash not_same_dirs show_scalar_ref_hash create_anon_funct check_for_LDADD set_new_user_outs enhance_with_headers reprocess_the_lists get_anon_proj_hash am_list_to_arrays am_mycmp_decend am_ignored_extent am_out_dir_scan_info 

lib_amscan-new.pl 2010/09/29 18:51:50 106,849
use strict; warnings; File::Basename; Cwd; 
sub am_set_dbg_base am_dbg_val_var am_get_dbg_var am_get_dbg_stg am_get_dbg_range am_set_dbg_var am_clear_dbg_var am_set_all_dbg_on am_set_all_dbg_off skip_these_strings am_macro_split valid_for_am_test show_scalar_hash show_all_subs key_in_cond_TRUE key_in_a_conditional am_test_for_substitution value_not_in_first get_value_from_hash show_target_list process_target_list a_source_does_exist a_source_does_exist_ok am_extract_from_hash is_macro_type add_key_value_2_hash am_process_AM_file show_scalar_ref_hash create_anon_funct check_for_LDADD set_new_user_outs_prog set_new_user_outs_libs enhance_with_headers am_list_to_arrays am_out_dir_scan_info 

lib_amscan.pl 2012/07/18 19:48:44 155,673
use strict; warnings; File::Basename; Cwd; 
sub set_output_change am_process_AM_file am_set_dbg_base am_dbg_val_var am_get_dbg_var am_get_dbg_stg am_get_dbg_range am_set_dbg_var am_clear_dbg_var am_set_all_dbg_on am_set_all_dbg_off skip_these_strings am_macro_split valid_for_am_test show_scalar_hash show_all_subs key_in_cond_TRUE key_in_cond_FALSE key_in_cond_TRUE_or_FALSE key_in_a_conditional am_test_for_substitution am_test_for_substitution_VERY_OK_BUT value_not_in_first get_value_from_hash show_target_list process_target_list a_source_does_exist a_source_does_exist_ok am_extract_from_hash is_macro_type add_2_hoh_subs add_key_value_2_hash not_same_dirs show_scalar_ref_hash create_anon_funct eliminate_libpath_duplicates elim_the_lib_path_dupes check_for_LDADD set_post_copy_action set_new_user_outs enhance_with_headers reprocess_the_lists get_anon_proj_hash get_modified_library_name am_list_to_arrays am_mycmp_decend in_excluded_files has_excluded_ext in_excluded_folder has_excluded_msvc has_graphic_ext am_ignored_extent am_out_dir_scan_info 

lib_chkmain.pl 2014/03/18 14:50:28 6,862
# AIM: Read a C/C++ file and check for main()
# 18/03/2014 - Maybe make note if main() is preceeded by an #ifdef TEST
# 2010-07-07 - Some tidying when used in makesrcs.pl
# 20090911 - version 2 with output indicator
# 20090828 - check for quotes "...", and only WARN if could have been in quotes
# 21/11/2007 - geoff mclane - http://geoffair.net/mperl
# Services:
# chkmain($file,$refarray)
sub chkmain_in_linearray chkmain 

lib_cmake-ok.pl 2012/11/14 19:27:30 88,859
use strict; warnings; 
sub get_cmake_proj_hash_ref set_cmake_exe_install set_cmake_exe_postfix set_cmake_lib_install set_cmake_def_library set_cmake_add_bin_dir set_rpath_per_os set_max_output_line max_output_line test_ref_hash do_hash_cmake_test get_gui_message_txt get_definitions_block get_last_directory is_in_depends get_cmake_lib_finds debug_enum_ref_proj_hash find_in_directory_scan add_options_block write_project_cmake_files write_project_cmake_files_OK 

lib_cmake.pl 2014/01/03 16:19:30 57,649
use strict; warnings; 
sub get_cmake_proj_hash_ref set_cmake_exe_install set_cmake_exe_postfix set_cmake_lib_install set_cmake_def_library set_cmake_add_bin_dir set_project_version set_rpath_per_os set_max_output_line max_output_line test_ref_hash do_hash_cmake_test get_gui_message_txt get_definitions_block get_last_directory is_in_depends get_cmake_lib_finds debug_enum_ref_proj_hash find_in_directory_scan add_options_block write_project_cmake_files 

lib_cmakeread.pl 2014/04/02 20:01:09 245,232
use strict; warnings; 
sub set_cmake_defines get_cmake_ref_hash set_rh_debug_flags set_foreach_debug_flags get_cmake_dbg_flag save_cmake_ref_hash_stack restore_cmake_ref_hash_stack set_max_debug_line_len max_debug_line cmake_token_split_ra cmake_space_split cmake_token_split cmake_token_split_ra2 cmake_drop_brackets cmake_token_split2 cmake_fix_directory cmake_macro_sub cmake_macro_substitutions cmake_if_parsing cmake_version_comp hand_nul hand fn_complain fn_INCLUDE fn_INSTALL fn_ADD_SUBDIRECTORY fn_SUBDIRS is_cmake_add_library_adjective fn_ADD_LIBRARY fn_SET fn_LIST fn_PROJECT fn_IF fn_ELSEIF fn_ELSE fn_ENDIF fn_MACRO fn_FUNCTION fn_FOREACH fn_NOT_YET fn_FIND_PROGRAM fn_MARK_AS_ADVANCED fn_FIND_PATH fn_FIND_PACKAGE fn_FILE fn_FIND_PACKAGE_HANDLE_STANDARD_ARGS fn_GET_TARGET_PROPERTY fn_GET_TEST_PROPERTY fn__REMOVE_DUPLICATES_FROM_BEGINNING fn_HDF5_INVOKE_COMPILER fn_HDF5_PARSE_COMPILE_LINE fn_RETURN fn_STRING fn_MESSAGE fn_EXECUTE_PROCESS fn_ENABLE_LANGUAGE fn_CONFIGURE_FILE fn___WINDOWS_COMPILER_INTEL fn___WINDOWS_COMPILER_GNU fn___WINDOWS_COMPILER_GNU_ABI fn_ADD_CUSTOM_COMMAND fn_ADD_CUSTOM_TARGET fn_ADD_DEFINITIONS fn_ADD_DEPENDENCIES fn_ADD_EXECUTABLE fn_ADD_FILE_DEPENDENCIES fn_ADD_TEST fn_ADJUST_CMAKE_SYSTEM_VARIABLES fn_BISON_TARGET_OPTION_EXTRAOPTS fn_BISON_TARGET_OPTION_VERBOSE fn_BREAK fn_BUILD_COMMAND fn_CHECK_CXX_ACCEPTS_FLAG fn_CHECK_CXX_COMPILER_FLAG fn_CHECK_CXX_SOURCE_COMPILES fn_CHECK_CXX_SYMBOL_EXISTS fn_CHECK_C_SOURCE_COMPILES fn_CHECK_CXX_SOURCE_RUNS fn_CHECK_FORTRAN_FUNCTION_EXISTS fn_CHECK_FORTRAN_LIBRARIES fn_CHECK_FUNCTION_EXISTS fn_CHECK_INCLUDE_FILE fn_CHECK_INCLUDE_FILES fn_CHECK_INCLUDE_FILE_CXX fn_CHECK_LAPACK_LIBRARIES fn_CHECK_LIBRARY_EXISTS fn_CHECK_STRUCT_HAS_MEMBER fn_CHECK_SYMBOL_EXISTS fn_CHECK_TYPE_SIZE fn_CHECK_VERSION fn_CLEAR_BUNDLE_KEYS fn_CMAKE_DETERMINE_COMPILER_ABI fn_CMAKE_DETERMINE_COMPILER_ID fn_CMAKE_DETERMINE_COMPILER_ID_BUILD fn_CMAKE_DETERMINE_COMPILER_ID_CHECK fn_CMAKE_DETERMINE_COMPILER_ID_VENDOR fn_CMAKE_DETERMINE_COMPILER_ID_WRITE fn_CMAKE_FIND_FRAMEWORKS fn_CMAKE_GNU_HAS_ISYSROOT fn_CMAKE_GNU_SET_OSX_DEPLOYMENT_TARGET_FLAG fn_CMAKE_MINIMUM_REQUIRED fn_CMAKE_PARSE_ARGUMENTS fn_CMAKE_PARSE_IMPLICIT_LINK_INFO fn_CMAKE_POLICY fn_CMAKE_POP_CHECK_STATE fn_CMAKE_PUSH_CHECK_STATE fn_COPY_RESOLVED_FRAMEWORK_INTO_BUNDLE fn_COPY_RESOLVED_ITEM_INTO_BUNDLE fn_CPACK_APPEND_OPTION_SET_COMMAND fn_CPACK_APPEND_STRING_VARIABLE_SET_COMMAND fn_CPACK_APPEND_VARIABLE_SET_COMMAND fn_CPACK_CHECK_FILE_EXISTS fn_CPACK_ENCODE_VARIABLES fn_CPACK_OPTIONAL_APPEND fn_CPACK_PARSE_ARGUMENTS fn_CPACK_SET_IF_NOT_SET fn_CRT_VERSION fn_CUDA_ADD_CUDA_INCLUDE_ONCE fn_CUDA_BUILD_SHARED_LIBRARY fn_CUDA_COMPUTE_BUILD_PATH fn_CUDA_EXECUTE_PROCESS fn_CUDA_FIND_HELPER_FILE fn_CUDA_GET_SOURCES_AND_OPTIONS fn_CUDA_INCLUDE_NVCC_DEPENDENCIES fn_CUDA_PARSE_NVCC_OPTIONS fn_CUDA_WRAP_SRCS fn_DBG_MSG fn_DBG_MSG_V fn_DEFINE_PROPERTY fn_DUMP_FILE fn_ECOS_ADD_TARGET_LIB fn_ENABLE_TESTING fn_ENDFOREACH fn_ENDFUNCTION fn_ENDMACRO fn_ENDWHILE fn_ERROR_MESSAGE fn_EXEC_PROGRAM fn_EXTERNALPROJECT_ADD_STEP fn_EXTERNALPROJECT_ADD_STEPTARGETS fn_EXTERNALPROJECT_GET_PROPERTY fn_FEATURE_SUMMARY fn_FIND_CUDA_HELPER_LIBS fn_FIND_FILE fn_FIND_IMAGEMAGICK_API fn_FIND_IMAGEMAGICK_EXE fn_FIND_LIBRARY fn_FIND_LIBRARY_LOCAL_FIRST fn_FIND_PACKAGE_MESSAGE fn_FIXUP_BUNDLE fn_FIXUP_BUNDLE_ITEM fn_GETDEFAULTWINDOWSPREFIXBASE fn_GET_BUNDLE_ALL_EXECUTABLES fn_GET_BUNDLE_AND_EXECUTABLE fn_GET_BUNDLE_KEYS fn_GET_BUNDLE_MAIN_EXECUTABLE fn_GET_CMAKE_PROPERTY fn_GET_DIRECTORY_PROPERTY fn_GET_DOTAPP_DIR fn_GET_FILENAME_COMPONENT fn_GET_ITEM_KEY fn_GET_PREREQUISITES fn_GET_PROPERTY fn_GET_SOURCE_FILE_PROPERTY fn_GET_VS_VERSION_STRING fn_GP_APPEND_UNIQUE fn_GP_FILE_TYPE fn_GP_ITEM_DEFAULT_EMBEDDED_PATH fn_GP_ITEM_DEFAULT_EMBEDDED_PATH_OVERRIDE fn_GP_RESOLVED_FILE_TYPE fn_GP_RESOLVED_FILE_TYPE_OVERRIDE fn_GP_RESOLVE_ITEM fn_GP_RESOLVE_ITEM_OVERRIDE fn_INCLUDE_DIRECTORIES fn_INSTALL_FILES fn_INSTALL_TARGETS fn_INSTALL_QT4_PLUGIN fn_INSTALL_QT4_PLUGIN_PATH fn_INTERROGATE_MPI_COMPILER fn_IS_FILE_EXECUTABLE fn_JAVA_APPEND_LIBRARY_DIRECTORIES fn_KDE3_INSTALL_LIBTOOL_FILE fn_KDE3_PRINT_RESULTS fn_LINK_DIRECTORIES fn_LINK_LIBRARIES fn_LIST_PREREQUISITES fn_LOAD_CACHE fn_MACRO_ADD_FILE_DEPENDENCIES fn_MAKE_DIRECTORY fn_MATH fn_MFC_FILES_FOR_VERSION fn_MSG fn_MSVCRT_FILES_FOR_VERSION fn_OPTION fn_OSG_FIND_LIBRARY fn_OSG_FIND_PATH fn_OSG_MARK_AS_ADVANCED fn_PERL_ADJUST_DARWIN_LIB_VARIABLE fn_PKG_CHECK_MODULES fn_PRINTTESTCOMPILERSTATUS fn_PROCESSORCOUNT fn_CREATE_TEST_SOURCELIST fn_QT4_WRAP_UI fn_QT4_WRAP_CPP fn_QT4_ADD_RESOURCES fn_QT4_ADD_DBUS_INTERFACE fn_QT4_ADD_TRANSLATION fn_QT4_CREATE_MOC_COMMAND fn_QT4_EXTRACT_OPTIONS fn_QT4_GENERATE_MOC fn_QT4_GET_MOC_FLAGS fn_QT4_MAKE_OUTPUT_FILE fn_RESOLVE_QT4_PATHS fn_RTI_MESSAGE_QUIETLY fn_SANITYCHECKSDKANDDEPLOYTARGET fn_SELECT_LIBRARY_CONFIGURATIONS fn_SEPARATE_ARGUMENTS fn_SET_BUNDLE_KEY_VALUES fn_SET_COMPILE_FLAGS_VAR fn_SET_DIRECTORY_PROPERTIES fn_SET_IF_NOT_SET fn_SET_IF_SET_AND_NOT_SET fn_SET_LINK_FLAGS_VAR fn_SET_PACKAGE_INFO fn_SET_PROPERTY fn_SET_SOURCE_FILES_PROPERTIES fn_SET_TARGET_PROPERTIES fn_SET_TESTS_PROPERTIES fn_SITE_NAME fn_SWIG_ADD_SOURCE_TO_MODULE fn_SWIG_GET_EXTRA_OUTPUT_FILES fn_SWIG_MODULE_INITIALIZE fn_TARGET_LINK_LIBRARIES fn_TEST_BIG_ENDIAN fn_TRY_COMPILE fn_TRY_REGULAR_COMPILER fn_TRY_RUN fn_UNSET fn_VERIFY_APP fn_VERIFY_BUNDLE_PREREQUISITES fn_VERIFY_BUNDLE_SYMLINKS fn_WHILE fn_WRITE_QT4_CONF fn_WX_CLEAR_ALL_DBG_LIBS fn_WX_CLEAR_ALL_LIBS fn_WX_CLEAR_ALL_REL_LIBS fn_WX_CLEAR_LIB fn_WX_CONFIG_SELECT_GET_DEFAULT fn_WX_CONFIG_SELECT_QUERY_BOOL fn_WX_CONFIG_SELECT_SET_OPTIONS fn_WX_FIND_LIBS fn_WX_GET_DEPENDENCIES_FROM_XML fn_WX_GET_NAME_COMPONENTS fn_WX_SET_LIBRARIES fn_WX_SPLIT_ARGUMENTS_ON fn__BOOST_ADJUST_LIB_VARS fn__BOOST_CHECK_SPELLING fn__BOOST_COMPILER_DUMPVERSION fn__BOOST_MARK_COMPONENTS_FOUND fn__BOOST_PREPEND_LIST_WITH_THREADAPI fn__BOOST_SWAP_WITH_REALPATH fn__BULLET_APPEND_LIBRARIES fn__CHECK_CXX_COMPILER_ATTRIBUTE fn__CHECK_SYMBOL_EXISTS fn__DETERMINEVSSERVICEPACKFROMCOMPILER fn__DETERMINEVSSERVICEPACK_CHECKVERSIONWITHTRYCOMPILE fn__DETERMINEVSSERVICEPACK_CHECKVERSIONWITHTRYRUN fn__DETERMINEVSSERVICEPACK_FASTCHECKVERSIONWITHCOMPILER fn__DETERMINE_GCC_SYSTEM_INCLUDE_DIRS fn__DO_GENERATE_EXPORT_HEADER fn__DO_SET_MACRO_VALUES fn__EP_ADD_BUILD_COMMAND fn__EP_ADD_CONFIGURE_COMMAND fn__EP_ADD_DOWNLOAD_COMMAND fn__EP_ADD_INSTALL_COMMAND fn__EP_ADD_MKDIR_COMMAND fn__EP_ADD_PATCH_COMMAND fn__EP_ADD_TEST_COMMAND fn__EP_ADD_UPDATE_COMMAND fn__EP_GET_BUILD_COMMAND fn__EP_GET_CONFIGURATION_SUBDIR_SUFFIX fn__EP_GET_CONFIGURE_COMMAND_ID fn__EP_GET_GIT_VERSION fn__EP_IS_DIR_EMPTY fn__EP_PARSE_ARGUMENTS fn__EP_REPLACE_LOCATION_TAGS fn__EP_SET_DIRECTORIES fn__EP_WRITE_DOWNLOADFILE_SCRIPT fn__EP_WRITE_EXTRACTFILE_SCRIPT fn__EP_WRITE_GITCLONE_SCRIPT fn__EP_WRITE_INITIAL_CACHE fn__EP_WRITE_LOG_SCRIPT fn__EP_WRITE_VERIFYFILE_SCRIPT fn__FIND_BULLET_LIBRARY fn__FIND_ECLIPSE_VERSION fn__FPHSA_FAILURE_MESSAGE fn__FPHSA_HANDLE_FAILURE_CONFIG_MODE fn__FS_GET_FEATURE_SUMMARY fn__GTEST_APPEND_DEBUGS fn__GTEST_FIND_LIBRARY fn__GTK2_FIND_INCLUDE_DIR fn__GTK2_FIND_LIBRARY fn__GTK2_GET_VERSION fn__HDF5_INVOKE_COMPILER fn__HDF5_PARSE_COMPILE_LINE fn__KDE3_ADD_ICON_INSTALL_RULE fn__PKGCONFIG_INVOKE fn__PKGCONFIG_INVOKE_DYN fn__PKGCONFIG_PARSE_OPTIONS fn__PKGCONFIG_SET fn__PKGCONFIG_UNSET fn__PKG_CHECK_MODULES_INTERNAL fn__PROTOBUF_FIND_LIBRARIES fn__QT4_ADJUST_LIB_VARS fn__QT4_QUERY_QMAKE fn__SET_LIBRARY_NAME fn__TEST_COMPILER_HAS_DEPRECATED fn__TEST_COMPILER_HIDDEN_VISIBILITY fn___AIX_COMPILER_GNU fn___AIX_COMPILER_XL fn___BLUEGENEP_SET_DYNAMIC_FLAGS fn___BLUEGENEP_SET_STATIC_FLAGS fn___BORLAND_LANGUAGE fn___CHECK_TYPE_SIZE_IMPL fn___COMPILER_GNU fn___COMPILER_PATHSCALE fn___COMPILER_PGI fn___COMPILER_SCO fn___COMPILER_XL fn___CYGWIN_COMPILER_GNU fn___DARWIN_COMPILER_GNU fn___HPUX_COMPILER_GNU fn___HPUX_COMPILER_HP fn___JAVA_COPY_FILE fn___LINUX_COMPILER_GNU fn___LINUX_COMPILER_INTEL fn___LINUX_COMPILER_PATHSCALE fn___LINUX_COMPILER_PGI fn___SUNOS_COMPILER_GNU get_ref_directory_hash is_a_known_directive get_directive_function is_quote_char_unescaped2 is_quote_char_unescaped_NEARLY_ok_BUT is_quote_char_unescaped clean_cmake_raw_lines load_cmake_script_file is_a_loaded_macro2 cmake_clean_action2 process_clean_ref_array2 dump_cmake2 

lib_confscan.pl 2010/09/10 18:41:58 17,234
use strict; warnings; 
sub conf_macro_split macro_replacement show_if_stack show_if_stack3 show_if_stack4 closed_with_fi process_in_file show_macs 

lib_css.pl 2013/01/18 18:28:41 9,133
use strict; warnings; 
sub css_content_2_hash show_content_hash get_class_counts read_css_lines read_css_file 

lib_dsphdrs.pl 2014/01/03 16:28:49 91,590
use strict; warnings; Cwd; 
sub set_only_win32_conf set_dbg_props set_blank_header_group get_fetch_function get_default_sub3 is_valid_dsp_sub_sub get_default_sub_ref get_default_source_filter get_default_header_filter get_app_type_hash_ref_short get_app_type_4_short get_app_type_stg strip_quotes_02 dos_2_unix_02 scan_DSP_lines process_DSP_file get_list_of_subs get_project_name get_common_dsp_head get_targ_type_ref get_based_on_ref get_APP_TYPE_string get_project_type is_dll_project is_app_project get_based_on_stg add_targ_type add_def_config3 add_def_config get_configs_array3 get_configs_array get_hash_version add_message_section get_compile_block get_project_flag show_rh2 get_act_config_type get_dsp_head_stg get_def_lib_list get_dsp_console_rel get_dsp_console_dbg get_dsp_app_rel get_dsp_app_dbg get_dsp_slib_rel get_dsp_slib_dbg get_dsp_dynalib_rel get_dsp_dynalib_dbg get_dsp_tail get_dsw_head get_dsw_tail get_dsp_header_text fg_get_runtime_val_2_lts get_app_conf_type get_app_conf_type2 adjust_app_type_per_subsystem get_balance_of_line_bump_offset get_if_props add_dotrel_if_none write_hash_to_DSP3 get_proj_begin get_proj_end get_proj_depends3 get_bat_head add_bat_copy write_proj_DSW3 get_simple_DSW_txt 

lib_dspscan.pl 2011/01/10 16:40:34 29,225
use strict; warnings; File::Basename; File::stat; Cwd; 
sub set_dbg_show_sources3 set_load_debug set_load_debug_on set_load_debug_off ld_fix_rel_path3 ext_is_c_source3 file_is_c_source3 ext_is_h_source3 file_is_h_source3 is_h_special3 set_group_and_filter split_rsc_items3 combine_rsc_items3 process_DSP3 

lib_fgio.pl 2014/01/27 19:08:44 54,570
# AIM: Functions for a TELNET connection to fgfs
# 24/09/2011 geoff mclane http://geoffair.net/mperl
# List: # fgfs_connect, fgfs_disconnect, fgfs_get, fgfs_get_K_ah, fgfs_get_K_hh, fgfs_get_K_locks,
# fgfs_get_K_pa
# fgfs_get_K_pm, fgfs_get_K_ra, fgfs_get_K_rm, fgfs_get_adf, fgfs_get_adf_active
# fgfs_get_adf_stdby, fgfs_get_aero, fgfs_get_agl, fgfs_get_alt, fgfs_get_aspd_kts
# fgfs_get_comm1, fgfs_get_comm1_active, fgfs_get_comm1_stdby, fgfs_get_comm2, fgfs_get_comm2_active
# fgfs_get_comm2_stdby, fgfs_get_comms, fgfs_get_consumables, fgfs_get_coord, fgfs_get_desc
# fgfs_get_eng_rpm, fgfs_get_eng_rpm2, fgfs_get_eng_running, fgfs_get_eng_running2
# fgfs_get_eng_throttle, fgfs_get_eng_throttle2, fgfs_get_engines, fgfs_get_environ
# fgfs_get_fdm, fgfs_get_fuel1_imp, fgfs_get_fuel1_us, fgfs_get_fuel2_imp, fgfs_get_fuel2_us
# fgfs_get_fuel_kgs, fgfs_get_fuel_lbs, fgfs_get_gps, fgfs_get_gps_alt, fgfs_get_gps_gspd_kts
# fgfs_get_gps_lat, fgfs_get_gps_lon, fgfs_get_gps_track, fgfs_get_gps_track_true
# fgfs_get_gspd_kts, fgfs_get_hdg_bug, fgfs_get_hdg_mag, fgfs_get_hdg_true, fgfs_get_mag_var
# fgfs_get_metar, fgfs_get_nav1, fgfs_get_nav1_active, fgfs_get_nav1_radial, fgfs_get_nav1_stdby
# fgfs_get_nav2, fgfs_get_nav2_active, fgfs_get_nav2_stdby, fgfs_get_position, fgfs_get_root
# fgfs_get_sim_info, fgfs_get_w_time, fgfs_get_wind_east, fgfs_get_wind_heading
# fgfs_get_wind_north, fgfs_get_wind_speed, fgfs_send, fgfs_set, fgfs_set_hdg_bug
# get_curr_Klocks, get_curr_comms, get_curr_consumables, get_curr_engine, get_curr_env
# get_curr_gps, get_curr_posit, get_curr_sim, get_current_position, get_exit, get_position_stg
# got_flying_speed, got_keyboard, in_world_range, secs_HHMMSS2, set_SenecaII, set_dist_m2kmnm_stg
# set_dist_stg, set_hdg_stg, set_hdg_stg1, set_hdg_stg3, set_int_dist_stg5, set_lat_stg
# set_lon_stg, show_K_locks, show_comms, show_consumables, show_engines, show_engines_and_fuel
# show_environ, show_sim_info, sleep_ms
use strict; warnings; File::Basename; Cwd; IO::Socket; Term::ReadKey; Time::HiRes qw( usleep gettimeofday tv_interval ); Math::Trig; 
sub set_lib_fgio_verb set_wait_ms_get is_all_numeric set_decimal1_stg set_int_stg get_curr_posit get_curr_env get_curr_comms get_curr_consumables get_curr_gps get_curr_engine get_curr_Klocks get_curr_aplocks get_curr_sim get_curr_aps get_curr_gear_wow fgfs_get_gear0_wow fgfs_get_gear1_wow fgfs_get_gear2_wow fgfs_get_park_brake fgfs_get_left_brake fgfs_get_right_brake fgfs_get_gear_down fgfs_get_gear_wow fgfs_show_gear_wow fgfs_connect fgfs_disconnect get_exit fgfs_send fgfs_set setprop fgfs_get_w_time sleep_ms fgfs_get getprop fgfs_get_gps fgfs_get_engines fgfs_get_K_locks fgfs_get_position fgfs_get_environ fgfs_get_comms fgfs_get_consumables fgfs_get_gps_alt fgfs_get_gps_gspd_kts fgfs_get_gps_lat fgfs_get_gps_lon fgfs_get_gps_track fgfs_get_gps_track_true fgfs_get_coord fgfs_get_coord2 fgfs_get_alt fgfs_get_alt2 fgfs_get_agl2 fgfs_get_ground_elev fgfs_get_hdg_true fgfs_get_hdg_mag set_SenecaII set_f_14b fgfs_get_aps_head_bug_degs fgfs_get_aps_targ_alt fgfs_get_aps_targ_bank fgfs_get_aps_targ_pitch fgfs_get_aps_targ_rate fgfs_get_aps_targ_roll fgfs_get_aps_targ_speed fgfs_get_aps_targ_yaw fgfs_get_aps_true_heading fgfs_get_aps show_autopilot_settings fgfs_get_hdg_bug fgfs_set_hdg_bug fgfs_get_agl fgfs_get_aspd_kts fgfs_get_gspd_kts fgfs_get_eng_running fgfs_get_eng_rpm fgfs_get_eng_throttle fgfs_get_eng_running2 fgfs_get_eng_rpm2 fgfs_get_eng_throttle2 fgfs_get_K_ah fgfs_get_K_pa fgfs_get_K_pm fgfs_get_K_ra fgfs_get_K_rm fgfs_get_K_hh fgfs_get_apl_alt fgfs_get_apl_head fgfs_get_apl_speed fgfs_get_apl_yaw fgfs_get_ap_locks show_ap_locks fgfs_get_wind_speed fgfs_get_wind_heading fgfs_get_wind_east fgfs_get_wind_north fgfs_get_metar fgfs_get_mag_var fgfs_get_comm1_active fgfs_get_comm1_stdby fgfs_get_comm1 fgfs_get_comm2_active fgfs_get_comm2_stdby fgfs_get_comm2 fgfs_get_nav1_radial fgfs_get_nav1_active fgfs_get_nav1_stdby fgfs_get_nav1 fgfs_get_nav2_active fgfs_get_nav2_stdby fgfs_get_nav2 fgfs_get_adf_active fgfs_get_adf_stdby fgfs_get_adf fgfs_set_com1 fgfs_set_com2 fgfs_set_nav1 fgfs_set_nav2 fgfs_set_adf fgfs_get_fuel1_imp fgfs_get_fuel1_us fgfs_get_fuel2_imp fgfs_get_fuel2_us fgfs_get_fuel_lbs fgfs_get_fuel_kgs fgfs_get_f14b_fuel_left fgfs_get_f14b_fuel_right fgfs_get_f14b_C_gus fgfs_get_f14b_C_lbs fgfs_get_f14b_LBB_gus fgfs_get_f14b_LBB_lbs fgfs_get_f14b_RBB_gus fgfs_get_f14b_RBB_lbs fgfs_get_f14b_LS_gus fgfs_get_f14b_LS_lbs fgfs_get_f14b_RS_gus fgfs_get_f14b_RS_lbs fgfs_get_aero fgfs_get_fdm fgfs_get_root fgfs_get_desc fgfs_get_sim_info get_position_stg get_current_position got_flying_speed got_keyboard set_dist_stg set_dist_m2kmnm_stg set_hdg_stg1 set_lat_stg set_lon_stg set_hdg_stg secs_HHMMSS2 show_environ show_comms show_consumables show_K_locks show_engines show_engines_and_fuel show_sim_info in_world_range set_hdg_stg3 set_int_dist_stg5 

lib_html.pl 2013/11/05 13:49:42 23,097
use strict; warnings; 
sub set_show_warnings tag_type_to_text get_attr_no_value get_tag_normal_value get_tag_close_value get_tag_closed_value get_tag_closea_value get_tag_special_value get_tag_comment_value get_tag_text_value get_attr_refhash is_auto_closed_tag is_optional_auto_closed_tag deal_with_script deal_with_pre get_html_refarray show_html_refarray get_html_body_only drop_html_tags drop_div_tag get_tag_array get_whole_tag_array get_title_text get_html_title_from_file get_a_href_array get_a_href_text_array get_html_from_refarray 

lib_imgsize.pl 2013/04/20 10:23:49 1,242
# AIM: Use external imagemagick 'identify.exe' to get an image SIZE geometry
# Services: im_get_image_size( file_name ); returns geometry nnnnxnnnn
# im_get_image_width( geometry ); returns WIDTH
# im_get_image_height( geometry ); returns HEIGHT
# 20/04/2013 - Rename to lib_imgsize.pl
# 21/08/2007 geoff mclane http://geoffair.net/mperl
use strict; warnings; 
sub im_get_image_width im_get_image_height im_get_image_size 

lib_incinc.pl 2013/03/16 21:19:11 1,916
# AIM: Get list of INCLUDES in a C/C++ file
# 16/03/2013 - renamed to lib_incinc.pl
# 11/09/2009 - first cut
sub delete_comments_from_line get_includes_from_rla get_include_file_list 

lib_incs.pl 2012/05/07 16:28:26 1,843
# AIM: Get list of INCLUDES in a C/C++ file
sub delete_comments_from_line get_include_file_list_ra 

lib_params.pl 2013/09/02 16:19:46 12,719
sub get_ref_params eliminate_dupes add_key_2_added init_common_subs2 gen_param_check validate_ref_param set_params_ref init_common_subs get_root_dir 

lib_srcscan.pl 2011/03/06 16:53:18 9,097
# AIM: Read a C/C++ file, check for main(), and other things...
# Params:
# 1 - required - Source file name to scan
# 2 - optional - BIT Options, for output mainly
# 06/03/2011 - FIX20110306 - add MORE diagnostic concerning #if... parsing
# 19/09/2010 - Make this lib_srcscan.pl, and only retain the chkmain2, now called src_scan
# 2010-07-07 - Some tidying when used in makesrcs.pl
# 20090911 - version 2 with output indicator
# 20090828 - check for quotes "...", and only WARN if could have been in quotes
# 21/11/2007 - geoff mclane - http://geoffair.net/mperl
use strict; warnings; File::Basename; 
sub src_scan recursive_src_scan full_src_scan_of_files 

lib_url.pl 2013/01/18 18:26:25 686
# AIM: Load a URL file into a line array, return line count
use strict; warnings; LWP::Simple; 
sub fetch_url 

lib_utils.pl 2013/11/08 19:36:51 39,237
use strict; warnings; Time::gmtime; 
sub get_def_src_filt get_def_hdr_filt get_def_rcs_filt get_def_spl_filt get_def_src_grp get_def_hdr_grp get_def_rcs_grp get_def_spl_grp is_ulog_open open_log prt_log prt mydie close_log set_load_log write2file append2file trim_leading trim_tailing trim_ends trim_all path_u2d path_d2u get_relative_path4 get_relative_path_reversed_words get_relative_path get_rel_dos_path rename_2_old_bak rename_2_old_bak_plus add_quotes is_in_array is_in_array_nc is_c_source is_c_source_extended is_h_source is_h_special is_h_source_extended is_resource_file is_config_file_like is_text_ext_file strip_dotrel space_split space_split_ref space_split_to_rh get_only_new_items array_2_hash_on_equals strip_square_braces strip_double_quotes strip_single_quotes strip_both_quotes strip_quotes massage_command show_file_stat fix_rel_path3 fix_rel_path line_2_hash_on_equals get_vs_vars_bat get_vs_install_dir add_to_files_lc vc_get_include_dirs2 get_string_with_sep get_includes_string get_defines_string get_libpaths_string get_nn secs_HHMMSS get_YYYYMMDD lu_get_YYYYMMDD_hhmmss lu_get_YYYYMMDD_hhmmss_UTC lu_get_hhmmss_UTC util_bytes2ks ut_fix_directory ut_fix_rpath_per_os ut_fix_dir_string 

lib_vcdirs.pl 2013/02/18 15:23:48 26,399
use strict; warnings; 
sub load_vc8_cfg load_vc8_bat add_to_files_nc3 get_include_dirs3 get_vcinstalldir get_vsinstalldir get_vc8_dirs3 

lib_vcscan.pl 2014/01/03 17:21:38 105,483
use strict; warnings; File::Basename; Cwd; 
sub svc_xml_to_lines svc_get_dbg_stg svc_set_dbg_val svc_set_dbg_on svc_set_dbg_off svc_set_dbg_item get_default_ref_hash get_item_from_hash get_per_file_hash get_last_src_offset get_current_xline_stg get_project_configs svc_get_project_name_stg get_project_srcs_ref add_vs_project_items extract_curr_items svc_add_props_to_hash add_vs_config_item get_prj_key_info_ref set_inc_hash set_def_hash show_hash_results3 get_show_value get_show_list show_hash_results4 adjust_inter_out_dirs adjust_runtime_to adjust_output_name delete_nodefaultlib_all massage_command3 get_line_hash_missed get_ct_line_hash_missed get_nodeflib_string process_vc_conf_tool_tag process_vc_file_tool_tag get_cfgs_array_order add_any_per_file_items3 get_xln_stg get_clean_seek_item get_new_xml_lines process_VC_lines process_VCPROJ3 

lib_xml.pl 2012/06/25 10:45:37 2,761
# AIM: Gathering together useful 'xml' parsing functions
use strict; warnings; File::Basename; 
sub xml_array_to_lines 

linecount.pl 2008/01/03 20:39:14 1,939
# AIM: To count the lines in a file, IGNORING lines that are ALL spacy, or with less that
# a certain number of characters ...
# 03/01/2008 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; 
sub trimall prt process_file process_args 

lineendings.pl 2006/09/27 15:00:12 4,697
use strict; warnings; LWP::Simple; 
sub show_line_ending check_line_ending force_dos_le force_unix_le 

lineends.pl 2013/10/14 14:07:35 7,054
# AIM: Check the line ending of a file
# 14/10/2013 - update style and functionality
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw add_2_found process_directory process_file process_input need_arg parse_args give_help 

linkhtml.pl 2010/04/13 20:14:30 27,322
# AIM: Given one input HTML file, parse HTML elements, and show each 'link' given in the file...
# 2010/04/13 - looking good...
# 2010/04/12 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB5 VERB9 pgm_exit prtw show_warnings is_closed_tag is_opt_tag can_find_this_tag is_all_optional pop_optional_elements count_optional_elements show_stack_elements get_element_chain get_attribute_hash_ref get_html_file_hash get_href_type dos_2_unix fix_rel_unix_path get_local_href find_anchor_name show_hash_ref give_help parse_args 

linkhtml02.pl 2010/04/14 16:15:00 4,646
# AIM: Given one input HTML file, parse HTML elements, and show each 'link' given in the file...
# 2010/04/14 - moved main contents to htmllib.pl
# 2010/04/13 - looking good...
# 2010/04/12 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB5 VERB9 pgm_exit prtw show_warnings give_help parse_args 

list2array.pl 2010/07/16 18:46:18 3,901
# AIM: Take a file list, and build a perl array item.
# 16/07/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub pgm_exit prtw show_warnings process_file give_help need_arg parse_args 

listap01.pl 2007/01/14 17:37:56 2,194
# AIM: Read FlightGear apt.dat.gz file, and list AIRPORTS within ...
use strict; warnings; Env qw(HOME FG_ROOT); 

listexes.pl 2011/11/04 18:28:40 11,529
# AIM: Given an input directory, list the *.exe found. Do not duplicate if 'name.exe' and 'named.exe'
# 04/11/2011 - Also count _D.exe as Debug form
# 14/09/2011 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; File::Spec; File::stat; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw is_my_type process_in_dir get_short_form sub_base_dir sub_current_directory list_files process_in_file give_help need_arg parse_args 

listfpfolders.pl 2008/07/17 19:59:40 2,574
# AIM: Given an imput foldeer. make a list of all FRONTPAGE folders
# I use this list to avoid ZIPPING these folders, when doing a zip backup ...
# 17/07/2008 geoff mclane http://geoffair.net/mperl
use strict; warnings; 
sub elapsed_seconds is_fp_folder get_folder_list 

listhdrs.pl 2013/10/27 18:43:49 7,163
# AIM: Given an input directory, produce a cmake like header list
# 27/10/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file show_headers is_my_type process_in_dir need_arg parse_args give_help 

listhrefs.pl 2013/12/22 17:16:13 8,870
# AIM: Given a html file, output a list of hrefs
# 22/12/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file process_in_file_FAILED need_arg parse_args give_help 

listincs.pl 2013/10/27 17:00:46 13,547
# AIM: Given a C/C++ file, skip comments, and list the 'include' files found
# 27/10/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub in_sys_includes VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw scan_directory scan_base process_in_file need_arg parse_args give_help 

listlibs.pl 2012/08/29 18:51:05 13,797
# AIM: Given an input directory, list the *.lib found. Do not duplicate if 'name.lib' and 'named.lib'
# 29/08/2012 - Add -r <dir> to show list relative to this directory
# 04/11/2011 - Add -F FULL, and -f full - CWD
# 25/10/2011 - Add option to include *.pdb
# 14/09/2011 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; File::Spec; File::stat; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw is_my_type process_in_dir get_short_form sub_base_dir sub_current_directory sub_rel_directory list_files process_in_file give_help need_arg parse_args 

listobj.pl 2010/06/21 15:32:28 5,687
# AIM: Given a folder, make a sub-folder list containing *.obj files
# 20/06/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub process_a_folder pgm_exit prtw show_warnings is_obj_file process_folder process_folders show_obj_list give_help need_arg parse_args 

listregex.pl 2009/08/29 15:41:00 10,828
# AIM: Read perl files, and list all 'regex' expressions found
# 8/29/2009 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; File::Basename; 
sub prtw show_warnings scan_directory return_regex process_perl_files show_regex_list 

listrepodirs.pl 2010/02/01 14:49:44 6,627
# AIM: Given an imput foldeer. make a list of all FRONTPAGE folders
# I use this list to avoid ZIPPING these folders, when doing a zip backup ...
# 2010/01/31 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; File::Basename; File::stat; 
sub b2ks2 elapsed_seconds is_repo_folder contains_repo_folder get_folder_list get_batch_text 

listunres.pl 2013/12/21 19:41:37 8,155
# AIM: Scan a MSVC build log ouput and list unresolved items, by some order
# 21/12/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw get_first_quote get_value_before_brackets process_in_file need_arg parse_args give_help 

ll2dms.pl 2011/07/27 16:41:14 5,061
# AIM: Convert a lat, lon to degree, minutes, seconds
use strict; warnings; File::Basename; Cwd; 
sub show_warnings pgm_exit prtw process_in_file process_lat_lon give_help need_arg parse_args 

ll2xyz.pl 2008/12/17 21:17:20 9,743
# AIM: Convert latitude, logitude to x,y,z co-ordinates
use strict; warnings; Time::HiRes qw(gettimeofday tv_interval); constant PI => 4 * atan2(1, 1); 
sub do_time_tests do_lat_lon do_lat_lon_ok ll2xyz_ok xyz2ll_ok coord_dist_sq_ok coord_distance_m_ok lat_lon_distance_m_ok 

loadtable.pl 2006/09/03 17:17:50 3,794
# AIM: Load a HTML table into a multidimensional array
use strict; 
sub get_old_index get_table_array 

location.pl 2005/06/27 13:13:38 3,789
use strict; warnings; Data::Dumper; 

log2cmake.pl 2013/12/23 14:40:03 62,686
# AIM: Take a unix build log, and attempt to create a CMakeLists.txt from it, hopefully...
# 23/12/2013 - Some more tweaks using unix-bldlog.txt for gmp library
# 25/10/2013 - If given a current base, use a full directory scan to search for source files
# 02/10/2013 - Add -b base_directory used in log file
# 27/08/2013 - Lots more work with different styles build log files, and fill out the cmake script
# 20/08/2013 - gcc lines can be a compile or a link
# 13/03/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw line_has_bom remove_utf_bom load_file_lines get_show_stg strip_src_dir strip_comp_line strip_link_line strip_base_dir is_compile_line is_link_line scan_directory scan_base find_this_file check_for_source process_checking show_hdrs my_space_split process_in_file get_includes_block get_cmake_header add_options_block get_definitions_block ref_hash_2_cmake need_arg parse_args give_help 

logfile.pl 2011/04/16 20:22:56 7,853
use File::Basename; 
sub open_log prt mydie close_log write2file write_a_file append2file writebinfile is_in_array trim_all file_extension file_title file_dirname rename2oldbak path_u2d path_d2u get_relative_path get_rel_dos_path strip_quotes fix_rel_path3 

logtest.pl 2014/05/07 13:01:46 13,411
# AIM:
use strict; warnings; File::Basename; Math::trig; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file log10 do_test2 do_test do_test3 do_test4 do_test5 do_test6 do_test7 need_arg parse_args give_help 

m4scan-old.pl 2010/10/07 13:30:22 32,773
# AIM: Scan an M4 auto-tools MACRO file
# 05/10/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub show_warnings pgm_exit prtw m4_accumulate_with_back m4_accumulate_ac_macro get_ref_params remove_dnl trim_head_tail m4_comma_split m4_split_macro m4_split_macro_quite_good m4_split_macro_very_ok m4_split_macro_ok m4_split_macro_nearly_ok m4_process_file setup_ref_params give_help need_arg parse_args 

m4scan.pl 2010/10/08 20:07:06 23,765
# AIM: Scan an M4 auto-tools MACRO file
# 05/10/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub show_warnings pgm_exit prtw m4_accumulate_with_back m4_accumulate_ac_macro get_ref_params remove_dnl trim_head_tail m4_comma_split m4_comma_split_OK m4_split_macro invert_string m4_process_file setup_ref_params give_help need_arg parse_args 

magvar.pl 2013/11/13 19:05:37 16,966
# AIM: Given lat, lon, hh dd mm yy output magnetic variation
# 13/11/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Data::Dumper; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file yymmdd_to_julian_days create_roots_array calc_magvar need_arg parse_args give_help 

main.pl 2005/12/05 18:41:14 390
use Tree; 

main02.pl 2005/12/05 15:43:54 236
use Tree; 

mainorg.pl 2005/12/05 15:19:54 215
use Tree; 

make2cmake.pl 2014/05/25 21:27:31 68,107
# AIM: Given an nmake 'makefile' try to generatet the equivalent cmake CMakeLists.txt
# 02/09/2013 - Given a base directory, follow sub-directories... and load include files
# 27/08/2013 - Only show lines not dealt with once
# 02/07/2013 - Fill in valid SOURCE directories for searching
# 01/05/2013 - Default to 'Console Application' is NO extension - need better way!!!
# 20/03/2013 - Also search for 'default:' like 'all:',and accept either...
# 09/01/2013 - Attempt some improvements
# 03/12/2012 - some improvements and fixes
# 18/07/2012 - Initial cut
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub get_curr_auto_flag get_write_dsp_files ac_do_dir_scan VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file sort_target_deps add_to_valid_source_dirs fill_valid_source_dirs do_substitutions my_escape do_substitutions2 is_target_line curr_dep_incs_prev merge_refs looks_like_cd_nmake get_directory_hash get_type_from_key get_anon_proj_hash check_c_extensions check_h_extensions can_find_source_for_obj sub_targ_dir_TOO_SIMPLE sub_targ_dir accumulate_incs get_def_block add_opt_block enumerate_project_hashes need_arg parse_args give_help 

makesrcs.pl 2010/08/23 20:02:20 39,959
# AIM: Read a makefile, and (hopefully) list the SOURCES
# 23/08/2010 - Turn OFF debug for release, and add a littel HELP
# 09/08/2010 - Another try to improve the makefile scan...
# 06/07/2010 - Revisit, and hopefully IMPROVE
# 26/12/2007 - geoff mclane - http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub set_debug_val set_debug_on set_debug_off prtw show_warnings pgm_exit unix_2_dos fix_rel expand_it get_target_subject is_target_line is_iffy_line prtdw deal_with_iffy get_sources add_obj_item add_hdr_item has_hdr_ext split_into_objs show_macros list_ref_hash convert_obj_to_files list_objects list_headers os_is_win sub_root_dir get_dir_list get_file_type get_root_dir_list show_dir_list_debug get_file_list get_def_dsp_hash_ref set_default_configs_2 write_temp_dsp is_src_type list_targets give_help need_arg parse_args 

makesrcs02.pl 2014/03/24 17:18:44 61,185
# AIM: Read a makefile, and (hopefully) list the SOURCES
# 24/03/2014 - More... but decided too complicated... ;=((
# 28/08/2010 - Add more features, when using with say libxml2 makefile.msvc
# 23/08/2010 - Turn OFF debug for release, and add a littel HELP
# 09/08/2010 - Another try to improve the makefile scan...
# 06/07/2010 - Revisit, and hopefully IMPROVE
# 26/12/2007 - geoff mclane - http://geoffair.net/mperl
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub get_sources VERB1 VERB2 VERB5 VERB9 set_debug_val get_dbg_var get_dbg_stg get_dbg_range set_dbg_var clear_dbg_var set_all_dbg_on set_all_dbg_off set_debug_on set_debug_off prtw show_warnings pgm_exit unix_2_dos fix_rel expand_it expand_it_better get_target_subject get_target_subject_OLD is_target_line is_iffy_line prtdw deal_with_iffy get_sources_PREVIOUS add_obj_item add_hdr_item has_hdr_ext split_into_objs show_macros list_ref_hash convert_obj_to_files list_objects list_headers os_is_win sub_root_dir get_dir_list get_file_type get_root_dir_list show_dir_list_debug get_file_list get_def_dsp_hash_ref set_default_configs_2 write_temp_dsp is_src_type list_targets give_help show_dbg_help load_input_file need_arg parse_args 

maptest.pl 2014/02/17 18:58:39 3,831
# AIM: Convert a lat long zoom to a tile number
# 17/02/2014 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Math::Trig; POSIX qw/floor/; 
sub prt mlog_10 lat2tilef lon2tilef lat2tile lon2tile show_mappy test 

maptile.pl 2014/02/18 12:59:03 11,575
# AIM: Convert a lat long zoom to a tile number
# from : http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames
# Directory structure - like
# OSM 'standard' style http://[abc].tile.openstreetmap.org/zoom/x/y.png 0-19
# Zoom Coverage Tiles
# 0 1 tile world 1
# 1 2 X 2 4
# 2 4 x 4 16
# n 2^n x 2^n 2^2n
# 12 4096 x 4096 16,777,216
# 16 4,294,967,296 = 2^32
# 17 17,179,868,184
# 18 68,719,476,736
# 19 Max. mapnik 274.877.906,944
# X goes from 0 (left edge is 180 deg W) to 2^zoom - 1 (right edge is 180 deg E
# Y goes from 0 (top edge is 85.0511 to 2^zoom - 1 (bottom edge is 85.0511 deg S) in a Mercator projection
# For the curious, the num 85.0511 is the result of arctan(sinh(Pi)). By using this bound, the entire map
# becomes a (very large) square. See also the Osmarender bug.
# 17/02/2014 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Math::Trig; POSIX qw/floor/; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file mlog_10 lat2tilef lon2tilef lat2tile lon2tile show_mappy test test2 need_arg is_a_double parse_args give_help 

match.pl 2011/06/29 11:49:02 8,116
# AIM: Testing 'matching' to wild functions
use strict; warnings; File::Basename; Cwd; 
sub show_warnings pgm_exit prtw process_in_file match_with_wild matches_wild has_wild in_user_excludes give_help need_arg parse_args 

math-trig.pl 2011/02/20 13:34:36 1,777
use strict; warnings; Math::Trig; 
sub prt set_decimal1_stg set_int_stg do_calcs 

math_trig.pl 2011/02/23 14:48:44 13,020
# AIM:
use strict; warnings; File::Basename; Cwd; Math::Trig; 
sub get_locations show_warnings pgm_exit prtw set_decimal1_stg set_int_stg get_dist_stg_nm set_runway_ends init_runway_array get_dist_nm_for_alt_ft show_calcs show_tan3 do_calcs get_feet_per_min do_calc2 give_help need_arg parse_args 

md5.pl 2010/02/02 14:31:52 529
use strict; warnings; Digest::MD5; 
sub get_hex_digest 

md5sum.pl 2005/11/30 13:31:22 615

merc2wsg84.pl 2011/10/31 20:40:38 8,166
# AIM: Convert a WSG84 lon,lat pair to a a spheical mercator point
# 31/10/2011 geoff mclane http://geoffair.net/mperl
# from : http://www.mail-archive.com/gdal-dev@lists.osgeo.org/msg03050.html
# /* spherical mercator for Google, VE, Yahoo etc
# * epsg:900913 R= 6378137
# * x = longitude
# * y= R*ln(tan(pi/4 + latitude/2)
# */
# Also see : http://code.google.com/p/gepy/source/browse/trunk/tile.py
# Coordinate extent of Earth in EPSG:900913:
# [-20037508.342789244, -20037508.342789244, 20037508.342789244, 20037508.342789244]
# The constant 20037508.342789244 comes from the circumference of the Earth in meters,
# which is 40 thousand kilometers, the coordinate origin is in the middle of extent.
# In fact you can calculate the constant as: 2 * math.pi * 6378137 / 2.0
# Polar areas with abs(latitude) bigger then 85.05112878 are clipped off.
#What are zoom level constants (pixels/meter) for pyramid with EPSG:900913?
# whole region is on top of pyramid (zoom=0) covered by 256x256 pixels tile,
# every lower zoom level resolution is always divided by two
# initialResolution = 20037508.342789244 * 2 / 256 = 156543.03392804062
use strict; warnings; File::Basename; Cwd; Math::Trig; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw convert_lon_lat convert_mx_my process_in_file in_world_range show_extents give_help need_arg parse_args 

mergetest01.pl 2006/12/20 14:40:30 12,893
# AIM: To run some tests on a WinMerge build ...
# Based on testdiff.pl, by Perry Rapp, 2006-02-07
use strict; warnings; 
sub testdiffs1 testdiffs test3set testpair testdiff processArgs doUsage rpterr checkRequiredPrograms getDiff2merge getWinMerge 

meters2feet.pl 2010/03/04 14:58:56 453
# AIM: Simple conversion of meters to feet...
# 04/03/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; 

meters2miles.pl 2005/10/25 15:35:38 466

miles2meters.pl 2005/10/22 16:24:40 433

modlist.pl 2008/08/07 16:06:46 480,755
sub data mycmp_decenda mycmp_ascenda mycmp_ascendac 

module-version.pl 2008/08/07 20:28:40 202
use strict; 

modvers.pl 2008/08/07 20:28:52 775
use CPAN; 

moonstuff.pl 2007/02/12 19:09:40 10,823
use strict; warnings; Math::Trig; 
sub html_begin html_end floor ceil round out_of_circle get_bg_color out_color_wheel simple_circle in_circ gen_circle out_moon_circle hypotenuse 

morse.pl 2011/07/30 12:00:56 4,924
# AIM: A perl representation of morse
use strict; warnings; File::Basename; Cwd; 
sub show_warnings pgm_exit prtw process_in_file gen_table give_help need_arg parse_args 

movedsp.pl 2011/01/10 17:26:18 80,563
# AIM: Given a path to a DSP file, move it to a new target directory,
# fixing all the relative paths of the SOURCE files, and maybe attempting
# to 'fix' the CPP lines
# 07/01/2011 - Review of this utility, using later lib utilities
# 05/03/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; 
sub show_warnings pgm_exit prtw get_def_dsp_hash_ref get_tool_set_ref set_per_cfg_name check_cfg_name check_targ_type add_dsp_config_item space_split_with_quotes2 get_library_stg_hash get_library_stg_hash2 get_config_stg_hash get_cpp_line get_link_line return_remainder_stg no_case_file_defined return_lib_remain_stg process_library_stg2 process_config_stg2 process_config_stg show_name_and_type set_default_group_and_filter set_group_and_filter scan_dsp_file_lines process_dsp_file process_dsp_file_ok_but process_dsp_list 

mph2fps.pl 2007/01/05 14:31:06 344
# AIM: Convert MILE PER HOUR to FEET PER SECOND
use strict; warnings; 

mph2knot.pl 2011/08/16 16:15:28 388
# AIM: Convert MILE PER HOUR to KNOTS
# 1 Miles Per Hour = 0.86897699264 Knot.
use strict; warnings; 

mptelnet.pl 2013/10/07 20:26:05 15,977
# AIM: Establish telnet connection with fgms host and get repsonse
# 07/10/2013 - rename from telnet2.pl to mptelnet.pl
# 25/04/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Net::Telnet(); Data::Dumper; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file get_model_path process_lines get_input_lines get_telnet_reply get_telnet_reply2 need_arg parse_args give_help 

mruvc8-02.pl 2011/11/02 15:24:44 15,173
# AIM: To enumerate the Microsoft Visual Studio 8 Express (MSVC8) from registry
# geoff mclane - http://geoffmclane.com/mperl/samples/index.htm - 20070402
# 02/11/2011 - Avoid duplicate outputs...
# 01/02/2011 - Drop the FILE list - only the project list, and check the sln file still exists
# 2009/09/15 - Also include VC9
# 25/09/2007 - see mruvc8.pl, for simple sample - this add a LINK to the .SLN
# file, if it EXISTS now ...
use strict; warnings; File::Basename; File::Copy; File::stat; Win32::Registry; Win32::TieRegistry( Delimiter => " 
sub mycmp_decend_n0 show_REG_list Is_In_List get_tag remove_href Read_Previous Out_2_File exclmsbase YYYYMMDD2 rename_2_old_bak LTrim RTrim prt2 dos_2_unix 

mruvc8.pl 2007/04/11 13:07:50 9,575
# AIM: To enumerate the Microsoft Visual Studio 8 Express (MSVC8) from registry
# geoff mclane - http://geoffmclane.com/mperl/samples/index.htm - 20070402
use strict; warnings; File::Basename; File::Copy; Win32::Registry; Win32::TieRegistry( Delimiter => " 
sub Is_In_List Read_Previous Out_2_File exclmsbase show_REG_list YYYYMMDD2 rename_2_old_bak LTrim RTrim trimall prt2 

ms2time.pl 2014/03/01 14:28:11 882
use strict; warnings; 
sub prt ms2time 

msfs-fp.pl 2010/11/23 15:02:42 15,619
# AIM: Read and show details of the MSFS2002 FLight Plan file
# 09/11/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw get_data_points get_sample_output split_cvs get_degs_lat_or_lon get_d_ll get_ref_point add_ref_point add_way_point mycmp_ascend show_ref_pts process_in_file give_help need_arg deal_with_verbosity parse_args 

msh2sh.pl 2005/05/03 16:31:08 8,031
use HTML::Parser (); Data::Dump (); 
sub addh h h2 

msvc8incs.pl 2008/11/23 17:29:02 17,652
# AIM: Show content of MSVC8 'configuration' file ...
use strict; warnings; 
sub show_inc_array show_x_hash show_vc_hash expand_env_variables compare_hash_values get_vc_vars xml_to_lines space_split array_2_hash_on_equals strip_quotes cased_hash_var get_xml_file_hash prtw show_warnings 

msvclog.pl 2014/07/21 15:48:13 9,677
# AIM: Read a MSVC build log output, and report success and failed projects
# 21/07/2014 - Skip ZERO_CHECK and ALL_BUILD projects.
# 20/07/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file need_arg parse_args give_help 

msvcvers.pl 2009/11/14 21:16:18 6,628
# AIM: To check what VERSIONS of MSVC build files exist in a particular folder ...
# If *.dsp (and maybe *.dsp) then Version 6 (MSVC6)
# If *.sln (and maybe *.vcproj) then CHECK if 7 or 8 ...
# 14/11/2009 - minor update
use strict; warnings; File::stat; Cwd; 
sub prt eliminate_dupes get_file_name ver_count scanfiles YYYYMMDD is_my_files scandir 

myDebug2.pl 2010/09/01 15:33:28 3,012
use strict; warnings; 
sub new set_dbg_base get_base get_dbg_var get_dbg_stg get_dbg_range set_dbg_var clear_dbg_var set_all_dbg_on set_all_dbg_off 

nasa-srtm-range.pl 2009/04/26 11:17:20 2,185
# AIM: very specific - search an FTP list, for files within range
# 26/04/2009 geoff mclane http://geoffair.net/mperl
use strict; warnings; 
sub process_file show_list 

navcsv.pl 2013/11/06 20:43:51 7,518
# AIM: Parse apt1000-nav.csv and show items within a bounding box
# 06/11/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file need_arg parse_args give_help 

newfolders.pl 2007/03/19 19:32:02 3,889
# AIM: given two folders, do a resursive search and report new folder,
# or folders in the first not in the second
# input: first_folder second_folder
use strict; warnings; 
sub submain process_folder parse_args 

newproj.pl 2012/12/07 18:26:42 18,853
# AIM: QUITE SPECIAL - Take the BLANK project, and given a new ouput directory
# and project name, copy BLANK to there, and change the names...
# 07/12/2012 - Finalize - and shift to CMake building
# 06/08/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; File::Copy; 
sub VERB1 VERB2 VERB5 VERB9 get_in_dir get_in_files get_new_file_name fix_solution_file fix_vcproj_file fix_source_items fix_cxx_file fix_hxx_file fix_text_file pgm_exit prtw show_warnings test_files_exist check_setup make_out_dir test_files_not_exist chomp_lines copy_all_files write_cmake need_arg check_for_verbose parse_args give_help 

nls-names.pl 2014/07/18 14:21:56 6,748
# AIM: *** VERY SPECIFIC *** Read given file and generate C structure/table
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file need_arg parse_args give_help 

nsisfiles.pl 2013/02/18 15:33:23 23,180
# AIM: Read a MSIS msi script, and prepare a file list...
# 15/02/2013 - Initial cut
use strict; warnings; File::Basename; File::stat; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw strip_comments process_in_file got_wild expand_wild do_any_subs space_split3 set_up test need_arg parse_args give_help 

numsort.pl 2006/11/22 12:28:14 1,938
# AIM: Sort a file, taking the first columns as numbers ...
use strict; warnings; 
sub sortlines mycmp_ascend 

ObjectVariableTest.pl 2010/09/03 17:44:40 1,573
sub print deposit setEuroRate 

oldindex.pl 2006/09/18 14:43:02 13,046
use strict; warnings; 
sub oi_prt trim_line_ends load_php_stx trim_line get_old_index transfer_old_table3 mark_old_index get_table_array tag2newline collecthrefs 

opendir01.pl 2010/07/24 16:52:18 2,085
# AIM: Open a directory, and get a file list with a specific extension
# 24/07/2010 - some small enhancements
use strict; warnings; 
sub prt get_files show_array_ref process_in_folder 

opendir02.pl 2010/07/24 20:03:22 11,667
# AIM: Attempt to open a known REMOTE directory, and get a file list
# Wow, successed with BOTH a direct opendir/readdir/closedir,
# and then 'stat' also works, *** AND ***
# open( DIR "dir $dir |"); @arr = <DIR>; close DIR;
# which says great things for perls windows implementation...
# 24/07/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; File::stat; 
sub prt file_dirname trimall is_date_entry is_time_entry dbs_d2u is_a_respository_dir file_array_from_dir_list get_YYYYMMDD_hhmmss2 try_std_open_dir get_nn show_ref_file_array try_dir_command 

order.pl 2005/06/07 19:12:26 940
use Test; XML::XPath; 

osgvers.pl 2008/11/24 18:05:02 2,894
# AIM: See if we can FIND the Version strings, of OpenSceneGraph,
# given an INPUT (base) direcotry to check ...
# 11/24/2008 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; 
sub get_args check_version prt show_version 

osm-gpx.pl 2011/12/22 12:41:24 11,948
# AIM: Read a *.gpx XML file, and list points
# 20/12/2011 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file_xml process_in_file_NOT_USED show_ref_arr give_help need_arg parse_args 

osm-load.pl 2011/03/05 21:06:36 22,363
# AIM: Load an XML OSM file
use strict; warnings; File::Basename; Cwd; 
sub in_standard show_warnings pgm_exit prtw getElement getAttributeValue returnNode returnSegment returnID returnTags in_world_range process_in_file set_decimal1_stg set_decimal2_stg set_decimal3_stg set_int_stg get_dist_stg_nm show_ref_hash give_help need_arg parse_args 

osm2ac3d.pl 2013/05/15 12:04:03 32,733
# AIM: Search for a 'way' id in an osm file, and generate an AC3D .ac file of the building model
use strict; warnings; File::Basename; Data::Dumper; Math::Trig qw(great_circle_distance great_circle_destination great_circle_bearing deg2rad rad2deg); LWP::Simple; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw rad2m m2rad getline get_nd_ids get_way_nd_ids process_way_lines getosmdata get_ac3d_info dump_osm_xml process_in_file getwayfromapi getnodefromapi use_osm_api need_arg parse_args give_help 

osmcut2.pl 2012/03/16 16:19:39 7,773
# AIM: Read planet.osm, and extrct info...
use strict; warnings; File::Basename; File::stat; Time::HiRes qw(gettimeofday tv_interval); Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw get_hash_ref process_in_file give_help need_arg parse_args 

p2h.pl 2007/06/02 15:10:14 43,357
# AIM: Convert a single perl file to HTML, using perl.css style
# USE: p2h <input> [<output>]
use strict; warnings; File::stat; File::Basename; 
sub get_suffix add_red add_class_b add_blue add_class_d add_class_e add_class_f add_class_o add_class_v add_quote in_res_words is_built_in in_built_in is2lt sans_quotes conv_spaces html_line in_efix_list mangled_email fix_email add_2_used get_uform add_2_lines get_balance get_comment add_quote2 process_file trim_line trimall add_metas write_out_file YYYYMMDD b2KMG parse_arguments 

p2h01.pl 2006/08/28 12:54:34 5,382
sub add_class_a add_class_b add_class_c add_class_d add_class_e add_class_q in_res_words in_built_in process_file trim_line load_stx_file prt 

p2h02.pl 2006/04/22 14:38:16 21,152
use Time::HiRes qw(usleep ualarm gettimeofday tv_interval nanosleep ); strict; 
sub write_out_file add_red add_class_b add_blue add_class_d add_class_e add_class_f add_class_o add_class_v add_quote in_res_words in_built_in is2lt sans_quotes process_file trim_line load_stx_file prt 

p2h03.pl 2006/04/22 21:30:04 35,478
use Time::HiRes qw(usleep ualarm gettimeofday tv_interval nanosleep ); strict; 
sub write_out_file add_red add_class_b add_blue add_class_d add_class_e add_class_f add_class_o add_class_v add_quote in_res_words in_built_in is2lt sans_quotes conv_spaces html_line get_uform add_quote2 process_file trim_line load_stx_file prt 

p2h04.pl 2013/10/20 18:19:34 49,419
use Time::HiRes qw( gettimeofday tv_interval ); strict; 
sub get_code_section write_out_file add_red add_class_b add_blue add_class_d add_class_e add_class_f add_class_o add_class_v add_quote in_res_words in_built_in is2lt sans_quotes conv_spaces html_line get_uform add_quote2 add_2_lines get_balance get_comment process_file trim_line load_stx_file add_color_chart fix_email mangled_email prt mydie process_args 

p2hall.pl 2007/01/27 13:33:42 65,655
use Time::HiRes qw(usleep ualarm gettimeofday tv_interval nanosleep ); strict; File::Copy; File::stat; 
sub mycmp_decend2 add_new_table my_file_name my_file_ext my_file_type in_existing get_existing_files get_input_files reset_variables generate_index write_out_file add_red add_class_b add_blue add_class_d add_class_e add_class_f add_class_o add_class_v add_quote in_res_words in_built_in is2lt sans_quotes conv_spaces html_line get_uform add_quote2 add_2_lines get_balance get_comment process_file trim_line load_stx_file fix_email mangled_email YYYYMMDD get_nn prt mydie write2file get_old_index mark_old_index get_table_array tag2newline 

p2hall01.pl 2007/01/27 13:34:18 73,820
use Time::HiRes qw(usleep ualarm gettimeofday tv_interval nanosleep ); strict; File::Copy; File::stat; 
sub mycmp_decend2 is_valid_link has_valid_files add_jump_table out_link_line add_new_table my_file_name my_file_ext my_file_type in_existing get_existing_files get_input_files reset_variables generate_index write_out_file add_red add_class_b add_blue add_class_d add_class_e add_class_f add_class_o add_class_v add_quote in_res_words is_built_in in_built_in in_built_in_ok is2lt sans_quotes conv_spaces html_line get_uform add_quote2 add_2_lines get_balance get_comment process_file trim_line load_stx_file fix_email mangled_email YYYYMMDD get_nn b2KMG prt mydie write2file get_old_index transfer_old_table3 mark_old_index get_table_array tag2newline collecthrefs add_metas 

p2hall02.pl 2007/05/26 14:09:10 84,833
use Time::HiRes qw(usleep ualarm gettimeofday tv_interval ); strict; File::Copy; File::stat; File::Basename; 
sub mycmp_decend2 is_valid_link has_valid_files add_jump_table out_link_line add_new_table my_file_name my_file_ext my_file_type_old my_file_type in_existing get_existing_files get_input_files reset_variables add_use_table generate_index write_out_file add_red add_class_b add_blue add_class_d add_class_e add_class_f add_class_o add_class_v add_quote in_res_words is_built_in in_built_in in_built_in_ok is2lt sans_quotes conv_spaces html_line get_uform add_quote2 add_2_lines get_balance get_comment add_2_used process_file trim_line trimall load_stx_file in_efix_list fix_email mangled_email YYYYMMDD get_nn b2KMG prt mydie write2file get_old_index transfer_old_table3 mark_old_index get_table_array tag2newline collecthrefs add_metas 

p2hall03.pl 2013/10/12 17:17:17 95,109
use Time::HiRes qw(usleep gettimeofday tv_interval ); strict; File::Copy; File::stat; File::Basename; 
sub get_old_index pgm_exit mycmp_decend2 is_valid_link has_valid_files add_jump_table get_link_txt out_link_line get_menu_row add_new_table my_file_name my_file_ext_NOT_USED my_file_type in_existing get_existing_files get_input_files reset_variables add_use_table generate_index write_out_file add_red add_class_b add_blue add_class_d add_class_e add_class_f add_class_o add_class_v add_quote in_res_words is_built_in in_built_in in_built_in_ok is2lt sans_quotes conv_spaces html_line get_uform add_quote2 add_2_lines get_balance get_comment add_2_used process_file trim_line trimall load_stx_file in_efix_list fix_email mangled_email YYYYMMDD get_nn b2KMG prt mydie write2file transfer_old_table3 mark_old_index get_table_array tag2newline collecthrefs add_metas prtw show_warnings 

p2html.pl 2005/05/06 21:25:52 11,632
use strict; 
sub prt addTTitem add_html_style add_html_head add_html_tail add_color_samp tolog do_line_parse htmlise 

p2html10.pl 2005/05/20 11:03:36 66,720
use strict; warnings; 
sub prt addTTitem_simp addTTitem_bkgrd addTTitem_bkgrd1 addTTitem_bkgrd2 addTTitem_bkgrd2p addTTitem_full add_html_style add_body_style_NOT_USED add_html_head add_html_table add_html_tail a2f n_row n_col c_row c_col n_hcol c_hcol add_color_samp tolog xceptchr is_a_quote get_a_quote get_line_array2 get_line_array get_space_array do_line_parse parse_it htmlise is_regex_spl gotdelim add_ucomment add_usingleq add_udoubleq add_uscalar add_uarray add_uhash add_uresword add_ubfuncs add_udefault add_upunc isbracechr ispunctuat isresword isbinfun doparsereset get_parse_stats showarrcnts get_line_num do_the_table do_stx_file 

p2html11.pl 2005/05/22 13:39:36 63,785
use strict; warnings; 
sub prt a2f n_row n_col c_row c_col n_hcol c_hcol add_color_samp tolog xceptchr is_a_quote get_a_quote get_line_array2 get_line_array get_space_array do_line_parse parse_it htmlise is_regex_spl gotdelim add_ucomment add_usingleq add_udoubleq add_uscalar add_uarray add_uhash add_uresword add_ubfuncs add_udefault add_upunc isbracechr ispunctuat isresword isbinfun do_PARSE_reset do_line_reset get_parse_stats showarrcnts get_line_num do_the_table add_include_tables add_html_style 

p2html11b.pl 2005/05/22 05:01:42 67,565
use strict; warnings; 
sub prt addTTitem_simp addTTitem_bkgrd addTTitem_bkgrd1 addTTitem_bkgrd2 addTTitem_bkgrd2p addTTitem_full add_html_style add_body_style_NOT_USED a2f n_row n_col c_row c_col n_hcol c_hcol add_color_samp tolog xceptchr is_a_quote get_a_quote get_line_array2 get_line_array get_space_array do_line_parse parse_it htmlise is_regex_spl gotdelim add_ucomment add_usingleq add_udoubleq add_uscalar add_uarray add_uhash add_uresword add_ubfuncs add_udefault add_upunc isbracechr ispunctuat isresword isbinfun do_PARSE_reset do_line_reset get_parse_stats showarrcnts get_line_num do_the_table do_stx_file add_include_tables 

p2html12.pl 2007/01/27 16:58:22 64,459
use strict; warnings; 
sub prt a2f n_row n_col c_row c_col n_hcol c_hcol add_color_samp tolog xceptchr is_a_quote get_a_quote get_line_array2 get_line_array get_space_array do_line_parse parse_it htmlise is_regex_spl gotdelim add_ucomment add_usingleq add_udoubleq add_uscalar add_uarray add_uhash add_uresword add_ubfuncs add_udefault add_upunc isbracechr ispunctuat isresword isbinfun do_PARSE_reset do_line_reset get_parse_stats showarrcnts get_line_num do_the_table add_include_tables add_html_style 

p2html2.pl 2005/05/07 15:12:50 15,616
use strict; warnings; 
sub prt addTTitem addTTitem_full add_html_style add_html_head add_html_tail add_color_samp tolog do_line_parse htmlise gotdelim 

p2html3.pl 2005/05/07 17:00:40 16,840
use strict; warnings; 
sub prt addTTitem addTTitem_full add_html_style add_html_head add_html_tail add_color_samp tolog do_line_parse htmlise gotdelim 

p2html4.pl 2005/05/08 05:44:10 20,041
use strict; warnings; 
sub prt addTTitem addTTitem_full add_html_style add_html_head add_html_tail add_color_samp tolog xceptchr do_line_parse htmlise gotdelim 

p2html5.pl 2005/05/08 20:49:56 29,997
use strict; warnings; 
sub prt addTTitem addTTitem_full add_html_style add_html_head add_html_tail add_color_samp tolog xceptchr do_line_parse htmlise gotdelim ispunctuat showarrcnts 

p2html6.pl 2005/05/09 08:54:54 30,779
use strict; warnings; 
sub prt addTTitem addTTitem_full add_html_style add_html_head add_html_tail a2f n_row n_col c_row c_col add_color_samp tolog xceptchr do_line_parse htmlise gotdelim ispunctuat showarrcnts 

p2html7.pl 2005/05/09 20:10:18 36,857
use strict; warnings; 
sub prt addTTitem addTTitem_full add_html_style add_html_head add_html_tail a2f n_row n_col c_row c_col add_color_samp tolog xceptchr is_a_quote get_a_quote do_line_parse htmlise gotdelim ispunctuat showarrcnts 

p2html8.pl 2005/05/10 02:50:52 39,973
use strict; warnings; 
sub prt addTTitem_simp addTTitem_vOK addTTitem_full add_html_style add_html_head add_html_table add_html_tail a2f n_row n_col c_row c_col add_color_samp tolog xceptchr is_a_quote get_a_quote do_line_parse htmlise gotdelim ispunctuat isresword isbinfun doparsereset get_parse_stats showarrcnts get_line_num 

p2html9.pl 2005/05/13 10:24:50 59,300
use strict; warnings; 
sub prt addTTitem_simp addTTitem_bkgrd addTTitem_full add_html_style add_body_style_NOT_USED add_html_head add_html_table add_html_tail a2f n_row n_col c_row c_col n_hcol c_hcol add_color_samp tolog xceptchr is_a_quote get_a_quote get_line_array2 get_line_array do_line_parse htmlise is_regex_spl gotdelim add_ucomment add_usingleq add_udoubleq add_uscalar add_uarray add_uhash add_uresword add_ubfuncs add_udefault add_upunc isbracechr ispunctuat isresword isbinfun doparsereset get_parse_stats showarrcnts get_line_num do_the_table 

p2htxt01.pl 2006/07/11 15:46:04 6,367
use Time::HiRes qw(usleep ualarm gettimeofday tv_interval nanosleep ); strict; 
sub write_out_file html_line2 read_in_file prt 

p2hutil.pl 2005/11/24 16:19:44 5,688
sub add_html_head add_html_head_a add_html_table add_html_tail add_html_tail_a addTTitem_simp addTTitem_bkgrd addTTitem_bkgrd1 addTTitem_bkgrd2 addTTitem_bkgrd21 addTTitem_bkgrd2p addTTitem_full add_body_style_NOT_USED 

package.pl 2010/01/29 15:13:40 714
# AIM: Simple use of 'package' declaration
use strict; warnings; 
sub new toHex 

pageview02.pl 2006/07/06 16:18:24 8,137
# AIM: Get info from net, and generate a page viewer ...
use Win32::Internet; 
sub out_htm_head add_form out_htm_tail in_exclude 

pageviewer.pl 2006/07/04 17:27:46 7,645
# AIM: Get info from net, and generate a page viewer ...
use Win32::Internet; 
sub out_htm_head add_form out_htm_tail in_exclude 

parse-xml.pl 2010/01/26 20:44:38 51,602
# AIM: My attempt at my OWN XML parser
use strict; warnings; Data::Dumper; 
sub prtw show_warnings pgm_exit get_first_line is_cdata is_doctype ret_stack_text ret_stack_text_simple get_ref_tag get_att_ref get_save_ref check_ele_stack scan_xml_text parse_xml_text parse_xml_file fix_xml_path show_rh_kv show_ref_hash get_all_children get_content_text get_element_text get_element_hash_for_array show_fg_sim_references show_fg_sim_references_ok play_with_xml_ref 

parse-xml02.pl 2010/01/31 17:12:12 50,923
# AIM: My attempt at my OWN XML parser
# This is the second attempt, with a complete RE-WRITE
# 27/01/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; Data::Dumper; 
sub UNKNOWN_NODE ELEMENT_NODE ATTRIBUTE_NODE TEXT_NODE CDATA_SECTION_NODE ENTITY_REFERENCE_NODE ENTITY_NODE PROCESSING_INSTRUCTION_NODE COMMENT_NODE DOCUMENT_NODE DOCUMENT_TYPE_NODE DOCUMENT_FRAGMENT_NODE NOTATION_NODE ELEMENT_DECL_NODE ATT_DEF_NODE XML_DECL_NODE ATTLIST_DECL_NODE prtw show_warnings pgm_exit reduce_indent_5_2 xml_get_content_hr xml_get_type_name ret_stack_text ret_stack_text_simple check_ele_stack scan_xml_text has_utf_16_BOM parse_xml_file get_warn_error_text get_xml_ref_hash_text write_xml_output xml_pgm_exit is_in_array_ref is_in_array_ref_0 get_att_ref show_ele_hash transfer_ele_hash xml_set_hash_ref_value xml_get_hash_ref_content enum_hash_ref enum_array_ref enum_unknown_ref xml_get_all_children show_child_hash show_child_hash2 show_fg_sim_references give_help need_arg parse_args 

parse-xml03.pl 2010/01/30 16:12:52 43,310
# AIM: My attempt at my OWN XML parser
# This is the second attempt, with a complete RE-WRITE
# 27/01/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; Data::Dumper; 
sub prtw show_warnings pgm_exit xml_get_content_hr xml_get_type_name ret_stack_text ret_stack_text_simple check_ele_stack scan_xml_text has_utf_16_BOM parse_xml_file get_warn_error_text get_xml_ref_hash_text write_xml_output xml_pgm_exit is_in_array_ref is_in_array_ref_0 get_att_ref show_ele_hash transfer_ele_hash xml_set_hash_ref_value xml_get_hash_ref_content enum_hash_ref enum_array_ref enum_unknown_ref xml_get_all_children show_child_hash show_child_hash2 show_fg_sim_references give_help need_arg parse_args 

pas2inch.pl 2013/04/15 15:30:15 653
sub prt 

patch-conv.pl 2010/05/19 18:46:34 4,503
use strict; warnings; 
sub prt write2file remove_x_param process_file give_help need_arg parse_args 

patch2wm.pl 2012/11/13 20:29:52 5,919
# AIM: Read a diff patch file, and produce a wm batch file
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file need_arg parse_args give_help 

patchit.pl 2012/03/28 14:59:14 47,692
# AIM: 24/03/2012 Accept a patch file as input, and apply the patches
# This was NOT written as a replacement of the 'patch' tool, which does a
# very good job, but to better # understand the unified diff notation, and
# how to apply it.
# UGH: With MSVC10 must deal with BOM (Byte Order Mark), like
# UTF-8 EF BB BF 239 187 191
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw get_counts get_counts_FAILED_ON_SOME get_diff_files strip_file_path line_has_utf8_bom remove_utf8_bom_from_line remove_utf_bom get_diff_file_lines lines_match write_patched_file show_patch_lines merge_file_lines test_patch_lines show_oldfile_lines deal_with_patches process_in_file show_ref_hoh need_arg parse_args patch_help give_help 

path2dos.pl 2014/03/12 14:06:35 4,680
use strict; warnings; 
sub VERB1 VERB2 VERB5 VERB9 prt trim_leading trim_tailing trim_ends trim_all mydie write2file do_dir 

paths2dos.pl 2013/12/03 13:10:54 5,422
# AIM: Given an input file, like the cmake install_manifest.txt, converts the paths
# to DOS form, and write to the -o file, else to stdout
# 03/12/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file need_arg parse_args give_help 

perl-list.pl 2014/07/21 19:23:51 22,525
# AIM: SPECIALISED - Just to make a perl-list.txt and perl-list.htm file
# 21/07/2014 - see also genreadme.pl, whihc does a similar job!
# 23/12/2011 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; File::stat; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw get_type_number get_type_text is_text_type conv_spaces html_line show_hash_type show_array_type cmpNoCase get_meta_style get_doctype get_unique_link gen_alpha_list process_rh process_file process_files process_directory give_help need_arg parse_args 

perms.pl 2008/03/31 13:34:56 4,758
# AIM: Convert unix permission string to dec, hex, and OCTAL display
# each triplet: rwx = 4 + 2 + 1 = 7
# 31/03/2008 - geoff mclane - http://geoffair.net/mperl
use strict; warnings; 
sub show_perms 

person01.pl 2008/10/11 13:53:26 576
use strict; warnings; Person; 

php2htm01.pl 2007/01/27 13:35:42 38,893
# AIM: Convert PHP file sources to colour coded HTML
# geoffmclane.com - 2006.09.13
# 20070127 - fix for get_nn only
use strict; warnings; File::stat; File::Copy; 
sub add_red add_class_b add_blue add_class_d add_class_e add_class_f add_class_o add_class_v add_quote reset_count get_existing_files write_chart add_metas write_out_file conv_spaces html_line get_dir_files get_split_line reset_lines enter_php enter_com in_stx_RW in_stx_BI process_php_quote parse_php process_php parse_com process_com process_htm show_line_bits process_line process_file process_files my_get_path my_get_filename my_get_ext my_get_filetitle YYYYMMDD b2KMG get_nn trim_line load_html_stx is_htm_tag is_in_htm load_php_stx do_stx_load generate_index 

php2htm02.pl 2007/07/31 15:22:00 63,693
# AIM: Convert PHP file sources to colour coded HTML
# geoffmclane.com - 2006.09.13
# 31/07/2007 - add some more WARNINGS to output
use strict; warnings; File::stat; File::Copy; 
sub is_built_in transfer_old_table3 mark_old_index get_table_array process_tbl_arr process_tbl_arr3 get_old_index tag2newline collectoi_hrefs add_red add_class_b add_blue add_class_d add_class_e add_class_f add_class_o add_class_v add_quote reset_count in_existing get_existing_files write_chart add_metas write_out_file conv_spaces html_line remove_html_encode get_dir_files get_split_line reset_lines enter_php enter_com add_2_BI add_2_RW in_stx_RW in_stx_BI process_php_quote process_php_comment parse_php process_php parse_com process_com get_following parse_htm process_htm show_line_bits process_line process_file process_files my_get_path my_get_filename my_get_ext my_get_filetitle YYYYMMDD b2KMG get_nn trim_line load_html_stx is_htm_tag is_htm_att is_in_htm load_php_stx do_stx_load out_link_line mycmp_decend2 add_jump_table add_new_table generate_index 

plandevol-eng.pl 2006/04/19 12:14:22 41,759
use strict; POSIX qw(ceil floor); Getopt::Long; IO::Socket; Env qw(HOME FGROOT); 
sub get_prop set_prop send connect round coord_dist_sq ll2xyz distance_ llll2dir_ configure_extremite getPositionParTelnet nav_to_ram getNavAidNearestMidPoint construction_route teste_existence_procedure mise_en_forme_procedure sid_star plan_de_vol fichier_csv fichier_wp sortie_standard main 

plandevol-eng01.pl 2006/11/08 11:06:32 46,434
use strict; POSIX qw(ceil floor); Getopt::Long; IO::Socket; Env qw(HOME FGROOT); 
sub get_prop set_prop send connect round coord_dist_sq ll2xyz distance_ llll2dir_ configure_extremite getPositionParTelnet nav_to_ram getNavAidNearestMidPoint construction_route teste_existence_procedure mise_en_forme_procedure sid_star plan_de_vol fichier_csv fichier_wp sortie_standard main 

print-literals.pl 2010/09/03 20:29:24 557

printenv.pl 2007/03/19 13:19:20 533
# AIM: print out the environment strings ...
use strict; warnings; 

probe-os.pl 2009/10/14 19:14:00 1,963
# AIM: Show some information about the Perl version, and the underlying OS
# 14/10/2009 minor update
# 10/03/2009 geoff mclane http://geoffair.net/mperl
use strict; warnings; Probe::Perl; Env qw(COMSPEC); Config; 

proclist.pl 2006/06/14 19:46:46 2,465
use Win32::OLE qw( in ); Win32::OLE::Variant; 
sub wlog prt mydie close_log 

projects.pl 2012/12/07 19:29:20 7,129
# AIM: SPECIAL: Read C:\MDOS\ get h*.bat file, and present a list
# 07/12/2012 - Initial cut
use strict; warnings; File::Basename; Cwd; FILE::stat; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file get_work_dir mycmp_decend_n2 get_project_dir process_dir need_arg parse_args give_help 

Qt2cmake.pl 2014/06/30 14:37:33 47,693
# AIM: Convert a given Qt project file <project>.pro to a CMakeLists.txt
# 07/09/2012 - Tweak for adding QtScript component
# 08/06/2012 - Even if 'qt' NOT found in CONFIG it IS a Qt project
# 05/06/2012 - ADD INSTALL
# 13/05/2012 - Quieten the beast unless -v[n]
# 10/05/2012 - Tidy up for first release
# 08/05/2012 - First cut
use strict; warnings; File::Basename; Cwd; 
sub get_user_defines VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw is_complete_pro_line not_same_dir collect_include_dirs check_file_for_q_object process_in_file add_gui_message add_linux_windows process_input need_arg parse_args get_ruby_text give_help 

QtPro.pl 2011/12/01 16:21:30 24,684
# AIM: Read a QT pro (project) file, and check Buttons and Text Edit fields
# have 'connection'...
# 30/11/2011 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub process_curr_lines VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file process_cleaned_lines process_source show_includes get_first_token show_array show_class_items collect_class process_all_lines process_ref_hash show_qt_missed give_help need_arg parse_args 

rads2degs.pl 2010/08/17 13:38:10 543
# AIM: Given input of RADIANS, output DEGREES
use strict; warnings; Math::Trig; 

randgif1.pl 2005/06/04 09:28:10 1,208
sub send_image 

ratio.pl 2011/11/16 13:29:26 5,953
# AIM: Given a size like 3296x2472, and a desired width, like 400, find height
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file show_ratio give_help need_arg parse_args 

ratio2.pl 2013/11/09 16:22:35 2,222
use strict; warnings; 
sub prt isdig show_help 

read-keyboard.pl 2009/04/13 12:55:18 383
use strict; warnings; 

readcfg.pl 2006/04/11 13:27:16 11,458
sub add_2_msvc add_2_libs add_2_libpaths read_am2dsprc give_little_help set_config parse_arguments subroot check_lib_paths check_inc_paths check_includes 

readlog.pl 2009/12/04 16:31:44 25,886
# AIM: VERY SPECIFIC - read a big 'log' file,
# sort, and show the information
# 15/11/2009 geoff mclane http://geoffair.net/mperl
use strict; warnings; Bucket2; File::Basename; 
sub in_my_range secs2hms process_in_log process_in_log2 process_in_file fix_length show_ref_hash2 show_file_buckets show_ref_hash process_in_log4 show_hash4 process_in_log5 

recent.pl 2007/04/02 16:24:06 13,836
# AIM: To start, and keep a database of 'Recently Used Files'
# for each product. I always HATE that they ususally only support
# a maximum of 16 - BAH ...
# 20061029 - geoff mclane - http:\\geoffmcane.com\mperl\samples
# but regretably, it was NEVER finished ...
use strict; warnings; Encode; Win32::Registry; Win32::TieRegistry( Delimiter => " 
sub get_keys_data split_line_at delete_previous write_keys_data show_REG_list nice_string html_line html2text trim_tail 

redbrick.pl 2007/12/28 21:13:50 2,901
use strict; warnings; 

ref.pl 2008/01/23 15:47:20 1,349
# AIM: test returning a HASH reference
# 23/01/2008 - geoff mclane
sub foo get_hash prt 

refs.pl 2005/04/25 05:11:38 1,752
use CGI qw(:standard); 
sub showhello 

reg01.pl 2006/10/07 11:27:24 3,239
use strict; warnings; Win32::Registry; 

reg02.pl 2006/10/07 11:35:58 2,050
use Win32::Registry; Win32::TieRegistry( Delimiter => " 

reg03.pl 2006/10/08 13:45:18 3,818
use Getopt::Long; Win32::Registry; 

reg04.pl 2006/10/30 19:18:28 4,581
use Win32::Registry; 

reg05.pl 2008/11/23 12:22:22 3,227
# AIM: get ONE entry from the registry ...
# 30/10/2006 geoff mclane http://geoffair.net/mperl
use strict; warnings; Win32::Registry; 
sub get_key_name Show_Key 

regclass.pl 2010/10/23 13:44:50 11,044
# AIM: To explore the File Type associations in the registry,
# printing out all extensions found, and then enumerating the
# association to each extension (suffix if you will).
# 23/10/2010 - Review, and add input of an extension
# geoff mclane - http:\\geoffmclane.com - updated 20070402, commenced 20070120
# NOTES:
# This is in Windows XP Pro - it enumerates HKEY_CLASSES_ROOT
# The four top-level objects are: $HKEY_CLASSES_ROOT $HKEY_CURRENT_USER $HKEY_LOCAL_MACHINE $HKEY_USERS
# It does NOT resolve the indirect 'openwith' entries
# Turning on $dbg1 will show LOTS of enumeration ouput.
# It was mainly written as an 'exercise' in enumerating the registry, recursively ...
# It uses my logfile.pl, but this could be removed...
use strict; warnings; Win32::Registry; Data::Dumper; 
sub show_warnings pgm_exit prtw trimall get_short_dump show_keys prt31 prt32 give_help need_arg parse_args 

regex-date.pl 2012/12/31 20:43:34 638
sub prt 

regex-email.pl 2012/12/31 21:38:29 2,433
use strict; warnings; 
sub prt is_email is_email_address is_email2 

regex.pl 2012/10/22 11:55:31 17,773
use strict; warnings; Math::Trig; File::Basename; Cwd; 
sub pgm_exit fgs_rad2deg scalar_dot_product norm_vector_length get_quat_stg get_vec3_stg show_quat show_vec3 quat_conj mult_quats mult_vec3 scalar_mult_vector getEulerRad getEulerDeg fromRealImag fromAngleAxis fromLonLatRad euler_get test_decimal escape_strs test_strings 

relative.pl 2010/08/25 19:31:02 7,799
# AIM: Given a TARGET path, get RELATIVE path FROM a directory
sub set_dbg_rel2 path_d2u path_u2d get_relative_path get_relative_path_2 get_rel_dos_path 

relinehtm.pl 2012/06/25 18:43:36 7,862
# AIM: To reline HTML, just per tags
use strict; warnings; File::Basename; Cwd; 
sub done_for process_array2 

relinejs.pl 2013/06/21 12:47:18 15,259
# AIM: Attempt to reline javescript files...
# 05/05/2013 - Try to keep for(...;....;...) on ONE line
# 12/01/2013 - Try to keep 'function(a,b,c) {' on same line
# 24/08/2011 - Review and improvements...
# 20/12/2009 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub show_warnings pgm_exit prtw VERB1 VERB2 VERB5 VERB9 set_indent reduce_indent increase_indent reduce_indent2 increase_indent2 get_func get_for get_square process_simple process_file write_ref_arr give_help need_arg parse_args 

relinetxt.pl 2008/08/03 15:13:36 2,449
# AIM: SPECIAL: Reline a text file
# 03/08/2008 geoff mclane http://geoffair.net/mperl
use strict; warnings; 
sub process_file 

relinetxt02.pl 2013/08/19 15:21:28 17,962
# AIM: General RELINE an input text file...
# 20130501 - Do not kill all paragraphing by default, and no wrap by default...
# 31/12/2012 - Initial cut
# Also see special relinetxt.pl - 03/08/2008
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw trim_all2 line_has_bom remove_utf_bom load_file_lines load_people_file process_emails process_in_file process_in_file_ok_but need_arg parse_args give_help 

reltest.pl 2012/04/13 20:30:43 4,779
# AIM: Test my relative.pl module ...
use strict; warnings; Cwd; 
sub prt sub_base get_relative_path4 

remdebug.pl 2013/02/24 14:13:27 5,985
# AIM: VERY SPECIFIC - Clean a debug file from fgcom
# 24/02/2013 - First cut
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file need_arg parse_args give_help 

remdupes.pl 2013/12/24 19:04:51 5,874
# AIM: Given an input file, check for duplicate line, and output a single set
# 24/12/2013 - Add -s to SORT the output list
# 05/08/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file need_arg parse_args give_help 

replace01.pl 2007/07/30 23:59:48 6,136
# AIM: To 'replace' a block of text after finding where, in a set of HTML files
# 30/07/2007 geoff mclane - http://geoffair.net/mperl
use strict; warnings; File::Basename; 
sub process_file is_remove1 is_remove2 get_in_files is_my_ext is_js_ext is_css_ext is_swf_ext is_ico_ext is_known_ext 

replacetxt.pl 2012/05/20 19:33:24 9,582
# AIM: Given an input file, a text string to find, and a text string to replace it with,
# and an OUPUT file to write.
# 19/05/2012 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw escape_text process_in_file process_in_files need_arg parse_args give_help 

repltext.pl 2013/10/03 18:53:43 8,281
# AIM: Open in file and replace -f string with -r string, out to -o out_file
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw is_same replace_string process_in_file need_arg parse_args give_help 

samp01.pl 2005/05/12 07:01:06 1,691
use strict; 

scanconfac.pl 2010/02/12 20:23:12 10,718
# AIM: Scan a configure.ac file
use strict; warnings; File::Basename; 
sub set_all_debug_on scan_one_configure_file do_hash_setup sac_do_macro_sub2 sac_do_macro_sub show_hash_ref show_array_ref 

scanhgt.pl 2013/12/25 22:15:01 11,335
# AIM: Special SCAN of HGT files
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file scan_directory fix_dir in_half_world process_hgt gen_ascii show_hgt_list need_arg parse_args give_help 

scanvc.pl 2010/08/03 13:43:26 76,357
use strict; warnings; File::Basename; Cwd; 
sub svc_xml_to_lines svc_get_dbg_stg svc_set_dbg_val svc_set_dbg_on svc_set_dbg_off svc_set_dbg_item get_default_ref_hash get_item_from_hash get_per_file_hash get_last_src_offset get_current_xline_stg get_project_configs svc_get_project_name_stg get_project_srcs_ref add_vs_project_items extract_curr_items svc_add_props_to_hash add_vs_config_item get_prj_key_info_ref show_hash_results3 massage_command3 get_line_hash_missed get_ct_line_hash_missed get_nodeflib_string process_vc_conf_tool_tag process_vc_file_tool_tag get_cfgs_array_order add_any_per_file_items3 get_xln_stg get_clean_seek_item process_VC_lines process_VCPROJ3 

secsinyear.pl 2005/06/24 05:11:14 135

sendmail01.pl 2008/05/05 13:04:52 768
use Mail::Mailer; 
sub get_from get_to 

server0.pl 2005/05/05 15:05:28 1,773
use strict; Socket; 

server2.pl 2005/05/09 05:31:52 551
use IO::Socket::INET; 

server3.pl 2005/05/05 15:52:16 1,262
use strict; Socket; Carp; 
sub logmsg 

server4.pl 2005/05/05 16:50:14 1,400
use IO::Socket; 

server5.pl 2005/05/06 03:46:30 1,745
use IO::Socket; 

server6.pl 2011/09/24 19:46:16 1,142
use strict; warnings; IO::Socket; 

set-bucket.pl 2009/03/25 15:20:08 6,835
# AIM: A perl rendering of the set_bucket() function in Simgear
# 04/03/2009 geoff mclane http://geoffair.net/mperl
use strict; warnings; 
sub gen_index sg_bucket_span get_tile set_bucket gen_base_path show_bucket 

setdbgflag.pl 2010/08/26 15:41:26 2,534
use warnings; 
sub get_dbg_var get_dbg_stg get_dbg_range set_dbg_var clear_dbg_var set_all_dbg_on set_all_dbg_off 

setifdef.pl 2009/09/16 18:51:36 922
# AIM: Given a line on the clipboard, extract, duplicate, and set #ifdef _MSC_VER around it
# and back into the clipboard
use strict; warnings; Clipboard; 

sgutil.pl 2007/03/21 18:11:26 4,026
# AIM: some SG services
sub gen_index llxy_2_dll conv_bucket_index sg_bucket_span lon_lat_to_index 

sh2htm.pl 2011/08/02 16:00:26 18,224
# AIM: Parse a shell script, and render in HTML
use strict; warnings; File::Basename; Cwd; 
sub show_warnings pgm_exit prtw get_code_section add_color_chart write_out_file conv_spaces html_line html_char in_res_words in_built_in add_class_a add_class_b add_class_c add_quote process_in_file give_help need_arg parse_args 

sha1sum.pl 2005/11/30 13:34:26 605

show-@inc.pl 2010/01/12 20:42:02 64

show-bucket.pl 2013/03/08 19:28:21 23,422
use strict; warnings; 
sub VERB1 VERB2 VERB5 VERB9 pgm_exit prtw show_warnings get_bucket_center_txt show_bucket_center show_bucket get_all_buckets_same_1X1 get_buckets_around show_inds sgBucketDiff sgBucketOffset store_bucket test_diff_offset_functions show_buckets_in_bounds process_input give_help need_arg parse_args 

showalbumdat.pl 2007/08/06 18:04:58 56,503
# AIM: To find the albums in a gallery photos.dat file ...
# 02/08/2007 - geoff mclane - http://geoffair.net/mperl ...
use strict; warnings; File::Basename; 
sub show_dir_marks mark_in_dirs mark_master mark_as_sub get_album_name get_lines get_in_files is_my_ext is_dat_ext is_photos_dat is_fp_folder is_excluded_folder 

showanchors.pl 2010/03/27 20:09:32 13,303
# AIM: Given a HTML file, extract an show each ANCHOR in the file
# 2010/03/25 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; File::Basename; Cwd; 
sub pgm_exit prtw show_warnings get_anchor_hash_ref_lc get_anchor_list process_file get_href_type get_href_type_name show_ref_hash show_help require_arg parse_args 

showats.pl 2014/01/06 19:36:10 5,745
# AIM: Read an header.h.in and show ALL variables with @<something>@
# 24/12/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file need_arg parse_args give_help 

showbuildsrcs.pl 2009/08/21 15:43:52 6,060
# AIM: Analyse the build.log for sources compiled
use strict; warnings; 
sub trim_act_dir has_c_param get_c_param has_o_param get_o_param process_in_file output_entry process_srcs 

showcmd.pl 2007/05/26 14:46:00 387
# AIM: Just out the command arguments found, if any.
use strict; warnings; 
sub show_cmd 

showdefs.pl 2010/09/21 16:53:52 6,094
# AIM: Given a C/C++ page, show items like '#define FOO'
# 21/09/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub show_warnings pgm_exit prtw process_in_file give_help need_arg parse_args 

showdsp.pl 2012/04/05 13:32:12 40,451
# AIM: Read in a DSW/DSP file, and show results
# 04/04/2012 - Specific switch for specific shows
# 17/10/2010 - More enhancements... like if NO sources
# 01/06/2010 - Lots of enhancements...
# 01/05/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; File::stat; File::Spec; Cwd; 
sub set_debug_items set_debug_on set_debug_off set_all_debug is_system_lib VERB1 VERB2 VERB3 VERB5 VERB9 prtw show_warnings pgm_exit unix_2_dos sub_common_folder sd_get_nn sd_get_YYYYMMDD show_dsp_rh collect_per_option get_include_list get_runtime_opt get_defined_list add_def_defines add_def_libraries get_vclike_ref_from_dsp_ref process_one_dsp parse_args give_help 

showenv.pl 2005/06/15 07:49:26 992
sub prt_tail prt 

showerrors.pl 2013/08/13 11:51:40 13,243
# AIM: Read a cmake bldlog and show errors (and warnings) with the projects name
# 07/08/2013 - extend to show LINK errors also
# 05/08/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file need_arg parse_args give_help 

showhrefs.pl 2011/11/21 14:47:42 21,809
# AIM: Given a HTML file, extract, and show HREF (anchor) entries.
# 21/11/2011 - Add -l = load log, -a = show all
# 20/10/2010 - Added alpha sort, and consider -d <dir> to delete those in this directory.
# 14/03/2010 - Lots of IMPROVEMENTS, including batch running... ie parse_arg(list of files)
# 2010/03/22 - strip '#down' off file name before checking
# 20100312 - Some tidying...
# 29/07/2007 - geoff mclane - http://geoffair.net/mperl/index.htm
use strict; warnings; File::Basename; Socket; LWP::Simple; constant { 
sub get_type_href VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw get_file_title get_IPAddress process_file anchor_href file_has_my_ext get_href_type get_href_type_name mycmp_decend0 mycmp_decend1 get_anchor_hash_ref_lc get_URL get_URI clean_URL get_page process_in_files give_help need_arg parse_args 

showincs.pl 2013/05/17 11:59:15 41,244
# AIM: Read a C/C++ file and show included files...
# 17/05/2013 - Change list spearator depending on OS - win=';', unix=':'
# 17/03/2013 - Add summary at end, and no search for incs in 'windows' includes
# 23/05/2012 - Exclude searching linux includes -
# 12/11/2011 - Maybe some MACRO expansion
# 04/12/2010 - Added scan of directories to find the file...
# 02/12/2010 - Update - added INC directories...
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw si_process_in_file path_per_os fix_dir_string begins_with sub_first_from_second_if sub_root_dir si_do_dir_scan si_is_file_in_scan do_dir_scan get_anon_hash get_dir_scan_rh get_dir_scan_hash get_msvc_includes in_msvc_includes2 in_msvc_includes in_unix_includes2 in_unix_includes get_PSDK_directory in_sdk_includes2 in_sdk_includes check_finds compare_paths si_show_found_list setup_params si_show_count si_show_finds need_arg parse_args give_help 

showjava.pl 2010/07/17 15:29:46 62,743
# AIM: Scan a java source, and show imports and dependencies
use strict; warnings; File::Basename; Cwd; 
sub pgm_exit prtw show_warnings in_java_words process_file give_help need_arg parse_args 

showlnks.pl 2014/01/29 21:23:33 6,349
# AIM: Show public and private user Desktop links
# 29/01/2014 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file process_dir showlnks need_arg parse_args give_help 

showlog.pl 2012/10/16 20:22:09 9,572
# AIM: Read fgms log file, and enumerate pilots
# 17/06/2012 - Initial cut
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 prtv show_warnings pgm_exit prtw adj_callsign secs_DDHHMMSS2 secs_HHMMSS2 show_active process_in_file give_help need_arg parse_args 

shownew.pl 2013/09/26 20:34:41 8,623
# AIM: Quite Specific - Given a cleaned diff file of two file list, show the new
# files added, and a list of those that have changed
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file need_arg parse_args give_help 

showpiperxml.pl 2010/12/08 16:25:50 8,560
# AIM: VERY SPECIFIC - Quikc output of an XML file contents...
use strict; warnings; File::Basename; Cwd; 
sub prt trim_leading trim_tailing trim_ends trim_all show_warnings pgm_exit prtw process_in_file give_help need_arg parse_args 

showplayback.pl 2010/12/25 13:13:40 55,550
# AIM: SPECIFIC - Read the FG playback.xml, and show simple list of 'xml' chunks,
# and then read a 'playback' recording, and show the 'changes' over time...
# 17/12/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; Time::HiRes qw( usleep gettimeofday tv_interval ); 
sub show_warnings pgm_exit prtw get_autopilot_nodes get_playback_nodes is_valid_ch_hash get_decimal_stg get_heading_stg get_sg_dist_stg process_in_file nodes_are_equiv prt_name_node_dir show_ref_hash find_chunk_obj_by_off find_chunk_by_name get_item_val_by_name get_latlonalt get_latlonalt_msg compare_hdgpitchroll compare_latlonalt compare_arrays_test get_brake_msg process_flight give_help need_arg parse_args 

showscenery.pl 2011/12/26 20:28:30 11,310
# AIM: Give a FG sceenery directory, list available chunks, and airports ICAO.btg.gz file
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw is_in_expected is_repo_dir process_in_file scan_model_folder scan_airport_folder scan_terrain_folder scan_object_folder process_in_dir give_help need_arg parse_args 

showsln.pl 2013/12/18 20:41:15 47,031
# AIM: Read a MSVC solution file, and details the project
# 18/12/2013 - Adjust what is shown by 'verbosity'
# 20/05/2013 - Works well ;=)) Time for some improvemments
# 17/05/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; File::Spec; XML::Simple; Data::Dumper; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw is_sln_ext mycmp_nc_sort mycmp_nc_fn_only is_vcproj_ext is_vcxproj_ext process_xml_file fix_rel_path2 process_SLN_file2 process_in_file process_in_file_simp show_master_hash need_arg parse_args give_help 

showsm01.pl 2006/11/13 15:00:28 1,773
# AIM: To show my Start Menu in different ways ...
use strict; warnings; 
sub process_dir is_lnk_file 

showsrcs.pl 2005/12/07 07:23:38 6,599
# AIM: Find and display SOURCES from Makefile.am in a FOLDER ...
sub find_vcproj get_nxt_dir get_rel_dir dos_to_unix 

showsrcs2.pl 2005/12/08 20:42:00 28,140
# AIM: Find and display SOURCES from the Makefile.am in a FOLDER ...
# and COMPARE that source list with the VCPROJ file
# Show what should be DELETED, and what should be ADDED to the VCPROJ file
# Geoff R. McLane - mailto: geoffair@hotmail.com - 8 December, 2005
# just to show how long the program ran ...
use Time::HiRes qw( usleep ualarm gettimeofday tv_interval nanosleep ); 
sub find_vcproj get_nxt_dir get_rel_dir dos_to_unix rel_dir read_am_file split_in_dir quote_cond_val unquote_cond_val prt prteol scan_configure scan_one_configure_file 

showsrcs3.pl 2005/12/09 16:46:42 31,654
# AIM: Find and display SOURCES from the Makefile.am in a FOLDER ...
# and COMPARE that source list with the VCPROJ file
# Show what should be DELETED, and what should be ADDED to the VCPROJ file
# Geoff R. McLane - mailto: geoffair@hotmail.com - 8 December, 2005
# just to show how long the program ran ...
use Time::HiRes qw( usleep ualarm gettimeofday tv_interval nanosleep ); 
sub find_vcproj get_nxt_dir get_rel_dir dos_to_unix rel_dir read_am_file split_in_dir quote_cond_val unquote_cond_val conditional_true_when check_ambiguous_conditional prt prteol scan_configure scan_one_configure_file load_vcproj load_dsp 

showsymbols.pl 2010/09/04 10:52:28 1,885
# AIM: Enumerate the namespace sort of 'hash'...
# 04/09/2010 geoff mclane http://geoffair.net/mperl
use strict; use warnings; use diagnostics; 
sub getSymbolType getSymbol dispSymbols 

showuncommented.pl 2012/06/17 11:26:28 6,879
# AIM: Read an asterisk 'config' file, and just show 'uncommented line = do not start ';'
# 17/06/2012 - Allow multiple files, and add output
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file process_in_files got_wild glob_wild need_arg parse_args give_help 

showvcincs.pl 2010/12/04 13:59:04 7,081
# AIM: To find the MSVC 'INCLUDE' direcories
# 04/12/2010 - review
# 14/09/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file ac_do_dir_scan do_dir_scan get_anon_hash get_dir_scan_rh give_help need_arg parse_args 

showwarnings.pl 2012/06/26 11:57:43 5,938
# AIM: Given an input to a cmake build log file, find the cNNNN warnings,
# gorup, count and list them
# 25/06/2012 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file give_help need_arg parse_args 

shwaptdatver.pl 2013/12/18 18:24:25 5,672
# AIM: Given a valid apt.dat.gz file, show the version line
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw ignore process_in_file need_arg parse_args give_help 

shwdefines.pl 2013/12/20 14:01:19 6,594
# AIM: Read a file, and find all entires -D<something> or /D<something> and list them
# 20/12/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file need_arg parse_args give_help 

shwmake.pl 2009/09/19 16:07:36 12,501
use strict; warnings; File::Basename; Cwd; 
sub prtw show_warnings add_to_cmd_hash get_next_non_space get_gcc_out show_gcc_output show_cmd_example trim_end_line get_a_line get_next_line path_to_space process_file show_ref_hash 

shwmemdbg.pl 2009/10/10 20:08:06 7,984
# AIM: VERY SPECIFIC - read a _DEBUG memory dump file, and order the block in SIZE
# 10/10/2009 geoff mclane http://geoffair.net/mperl
use strict; warnings; 
sub process_file show_ref_hash 

shwoffset.pl 2014/03/01 16:25:26 8,405
# AIM: Given a file and an offset, show line or lines with that offset
# 01/03/2014 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file need_arg parse_args give_help 

shwplay.pl 2010/11/23 11:20:48 24,756
# AIM: *** SPECIAL *** read a FG 'playback' recording, and show details...
# 19/11/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; File::stat; 
sub gen_header_line show_warnings pgm_exit prtw on_gound process_in_file show_chunks secs_2_hhmmss in_world_range in_the_real_world_range read_records give_help need_arg parse_args xml_sample 

shwsct.pl 2010/11/28 13:27:32 58,459
# AIM: Extract info from an avio sct file
# includes some Standard Instrument Departures (SIDs) and Standard Terminal Arrivals (STARs)
# 27/11/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw format_fg_nav_stg get_annon_hash load_gzip_file get_low_airway_sample get_high_airway_sample get_artcc_low_sample get_artcc_high_sample get_info_sample get_airport_sample split_nums decode_lat show_airport get_airport get_runway_sample get_runway get_vor_sample pad_nav_id not_valid_nav_ref set_nav_vars get_nav_stg set_nav_ll show_nav get_nav get_vor get_ndb_sample get_ndb get_fixes_sample show_fix get_fix get_awy_low_sample get_awy_high_sample show_awy get_awy get_artcc_sample get_artcc get_sid_sample get_stars_sample get_sid_star get_sid get_star get_geo_sample get_sg_dist_hdg get_sg_dist_dir show_geo get_geo process_in_file is_nav_valid get_fg_nav_item_stg get_fg_nav_list_stg load_fg_nav_file not_in_world_range is_near_my_point mycmp_decend_dist find_closest_fg_nav list_per_section list_all_vors give_help need_arg parse_args 

shwwarnings.pl 2013/12/20 14:51:13 5,824
# AIM: Read a MSVC build log, and extract the ' warning C4251:'
# 20/12/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file need_arg parse_args give_help 

sitemap.pl 2005/06/08 06:21:32 5,352
use strict; XML::XPath; XML::XPath::XMLParser; XML::Parser; File::Find; Getopt::Long; 
sub find_local_files translate_path 

sitemap02.pl 2009/10/16 20:08:48 8,044
use strict; warnings; File::Basename; Cwd; File::stat; File::Find; Getopt::Long; 
sub get_date_time write_a_html_file get_title find_local_files translate_path is_fp_folder write_html_head write_html_tail 

slippydirs.pl 2014/06/13 20:09:57 31,394
# AIM: Just some 'tests' on slippy directories, and other slippy map things
# 15/05/2014 - Added /5/23/13/png as another way to enter 'lat lon zoom'
# 15/04/2014 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Math::Trig; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw getTileNumber getLonLat LatLon_to_bbox process_in_file num_sort max_line do_test do_test2 get_double show_hgt get_hgt_file get_srtm30_tile get_srtm30_ra show_values show_values_OK do_test3 show_hgt_ok do_test4 do_test5 do_test6 show_path need_arg parse_args give_help 

sln2dsw.pl 2008/09/18 20:24:16 78,135
# AIM: Read a MSVC7/8/9/?? solution, and vcproj files, and create
# or maybe update an (depreciated, as too hard)
# equivalent DSW/DSP files ...
# 19/05/2008 - Add 'Static Library' DSP header ... still missing 'Dynamic Library'
# 22/04/2008 - Extract DEPENDENCIES from solution file, and add to DSW output
# 17/12/2007 - geoff mclane - http://geoffair.net/mperl
# 14/02/2008 - attempt to get RELATIVE folders correct, both in DSW (and DSP)
use strict; warnings; File::Basename; constant { 
sub add_proj_begin add_proj_depends add_proj_end in_list write_DSW_file write_DSW_file_OLD clear_proj_files compare_proj_with_dsp is_same_DOS_file process_DSW process_DSP get_xml_tag tag_typ_2_stg get_tag_typ get_app_type space_split array_2_hash_on_equals split_conf is_in_skip_conf_rel is_in_skip_conf_dbg is_in_skip_lib_rel is_in_skip_lib_dbg set_runtime_dbg set_runtime_rel get_group_type get_def_group_name get_def_group_filter get_xml_sources is_vcproj strip_quotes resolve_depends process_SLN is_c_source is_h_special is_h_source get_suffix is_rc_file parse_args generate_dsw is_in_array is_in_array_nc out_src generate_DSP fix_rel_path get_dsp_head_console get_dsp_head_app get_dsp_head_slib get_dsp_head_dynalib get_dsp_tail get_dsw_head get_dsw_tail get_runtime_stg prtw show_warnings 

sln2dsw02.pl 2011/07/13 16:36:28 18,765
# AIM: Read solution file (SLN), and extract projects,
# write appropriate DSP file, and finally write DSW file.
# 10/03/2011 - Fix missing function 'write_hash_to_DSP' - try 'write_hash_to_DSP2' in fgdsphdrs02.pl lib
# 14/11/2008 geoff mclane - http://geoffair.net/fg
# based on fgsln2dsw.pl
# 13/07/2011 - Updates
# 2009/08/08 - convert $(Projectname) to the project name
# 13/03/2009 - some problems to be FIXED
# - pthreads.vcproj has a RSC define /d "PTW32_RC_MSC" which does NOT get into the DSP
# - The PLIB vcproj have output to <lib>_d.lib in DEBUG config, NOT put into the DSP
# - lpng/libpng build a Debug/libpng.lib which must be copied to the root as libpngd.lib
# - likewise zip-1.2.3 build Debug/ziplib, which must be copied to the root as zipd.lib
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub prtw show_warnings pgm_exit fg_add_proj_begin fg_add_proj_depends fg_add_proj_end process_solution_hash show_solution show_solution_simple is_vcproj process_SLN_file set_local_debug_on give_help need_arg parse_args 

sln2std.pl 2010/10/10 20:35:22 19,955
# AIM: Convert a 'solution' to my 'standard' output
use strict; warnings; File::Basename; File::Spec; Cwd; 
sub show_warnings pgm_exit prtw sub_last_dir process_in_sln show_vc_projects get_full_xml_line array_2_hash_on_equals3 process_vc_projects give_help need_arg parse_args 

sln2x64.pl 2012/04/10 16:47:06 19,239
# AIM: Given a MSVC10 solution file, convert to an X64 soltuion set
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw line_has_bom remove_utf_bom load_file_lines is_valid_uuid sub_win32 get_new_uuid process_in_sln get_xml_ref_array write_xml_lines load_vcproj_file load_vcxproj_files write_new_sln give_help need_arg parse_args 

slnlist.pl 2007/09/05 15:43:46 8,351
# AIM: Given a MSVC8 SLN file, show the LIST of VCPROJ files it references
# 04/09/2007 - add output of SOURCE files from vcproj files
# 26/04/2007 - geoff mclane - http://geoffmclane.com/mperl/samples/index.htm
use strict; warnings; File::Basename; 
sub process_vcproj_xml_lines unix_2_dos fix_rel process_sln is_my_file process_directory 

slurptest.pl 2005/11/30 15:11:50 1,645
use Carp; Time::HiRes qw( usleep ualarm gettimeofday tv_interval nanosleep ); 
sub read_file_f 

solve-ok.pl 2011/07/21 12:40:38 52,644
# AIM: Given a position, decide the track to take to best arrive at a 'circuit'
# Quite specialized!
use strict; warnings; File::Basename; Cwd; IO::Socket; Term::ReadKey; Time::HiRes qw( usleep gettimeofday tv_interval ); Math::Trig; 
sub get_locations show_warnings pgm_exit prtw in_world_range scalar_dot_product scalar_dot_product2 norm_vector_length norm_vector_length2 process_in_file set_int_stg set_dist_stg set_hdg_stg set_lat_stg set_lon_stg set_decimal1_stg get_dist_stg_nm show_distance_heading show_rw_patt set_runway_ends_and_patt init_runway_array get_runways_and_pattern set_circuit_values set_most_values_plus set_min_max add_img_line paint_user_points set_most_values_plus2 get_circuit_hash normalised_hdg get_mid_tl2bl get_mid_bl2br get_mid_bl2br2 set_distances_bearings dist_less_or_equal5 process_lat_lon process_lat_lon2 give_help need_arg parse_args 

solve.pl 2011/07/23 13:26:40 60,805
# AIM: Given a position, decide the track to take to best arrive at a 'circuit'
# Quite specialized!
use strict; warnings; File::Basename; Cwd; IO::Socket; Term::ReadKey; Time::HiRes qw( usleep gettimeofday tv_interval ); Math::Trig; 
sub get_locations show_warnings pgm_exit prtw in_world_range Triangle_Area Point_Inside_Triange scalar_dot_product scalar_dot_product2 norm_vector_length norm_vector_length2 process_in_file set_int_stg set_int_dist_stg5 set_hdg_stg set_lat_stg set_lon_stg set_decimal1_stg get_dist_stg_nm normalised_hdg set_hdg_stg3 show_distance_heading show_rw_patt set_runway_ends_and_patt init_runway_array get_runways_and_pattern set_circuit_values set_most_values_plus set_min_max add_img_arrow add_img_circle add_arrow_to_center add_img_line draw_text_at_pos draw_text_at_latlon paint_user_points get_circuit_hash get_mid_tl2bl get_mid_bl2br get_mid_bl2br2 set_distances_bearings dist_less_or_equal5 point_in_circuit process_lat_lon is_in_circuit give_help need_arg parse_args 

sortcss.pl 2013/08/02 12:20:05 19,513
# AIM: Read a file of CSS, in this case taken from my site,
# and 'sort' it - that is put each element together
# 02/08/2013 - have no default input file
# 11/07/2010 - checkout, and added input file name - parse_arg and
# output the tags with width formatting...
# 05/07/2008 geoff mclane http://geoffair.net/mperl specialised
# Decode of CSS file
# Skip C comments - /* ... */
# Starts with *, ., # or character is start of tag
# other tag names can follow after comma (,)
# definition begins with '{', and ends with '}' ...
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw nice_tag_text set_line_col trim_array_items compare_done_tags process_in_file need_arg parse_args give_help 

sortnc.pl 2013/07/23 10:05:29 5,180
# AIM: Alphabetic sorting, excluding case
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw mycmp_nc_sort process_in_file need_arg parse_args give_help 

sortres.pl 2008/02/15 20:15:52 4,522
# AIM: Sort a RESOURCE header file
use strict; warnings; 
sub spl_sort get_offset 

space2tab.pl 2007/11/01 14:23:22 1,972
# AIM: Convert LEADING spaces to tab
use strict; warnings; 
sub do_file 

split_words.pl 2007/02/09 17:11:14 1,325
# AIM: To take a joind word like "ApplePieCustardTart"
# and split it out to "Apple Pie Custard Tart"
# Note combined word HAS TO START with a CAPITAL LETTER - A-Z ...
# Nice taste of iterative calling to complete the job ;=))
# goeff mclane - http://geoffmclane.com - 20070209
use strict; warnings; 
sub split_words 

srtm-list.pl 2011/12/21 17:46:26 20,233
# AIM: Given a lat, lon, get the STRM3 list
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw in_world_range process_latlon process_in_file show_bounding_box give_help need_arg parse_args 

srtm_data.pl 2011/05/24 16:18:04 135,339

stat01.pl 2006/07/11 14:28:30 4,499
# AIM: To check out the power of 'stat' - geoff - 2006.07.11
# 'stat' returns 13 fields ...
# ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
# $atime,$mtime,$ctime,$blksize,$blocks)
# = stat($filename);
# 0 dev device number of filesystem
# 1 ino inode number
# 2 mode file mode (type and permissions)
# 3 nlink number of (hard) links to the file
# 4 uid numeric user ID of file's owner
# 5 gid numeric group ID of file's owner
# 6 rdev the device identifier (special files only)
# 7 size total size of file, in bytes
# 8 atime last access time in seconds since the epoch
# 9 mtime last modify time in seconds since the epoch
# 10 ctime inode change time in seconds since the epoch (*)
# 11 blksize preferred block size for file system I/O
# 12 blocks actual number of blocks allocated
# (The epoch was at 00:00 January 1, 1970 GMT.)
# * Not all a valid on all file systems
# add 'use' statement -
use File::stat; Fcntl ':mode'; 
sub mth_to_num stat_mode_stg 

stat02.pl 2009/10/13 16:13:58 5,596
# AIM: To check out the power of 'stat' - geoff - 2006.07.11
# 13/10/2009 - revisited, and try to fix the errors now...
# This consisted mainly of making is an ($mode & S_item),
# CONTRARY to the FUNCTIONS list in http://perldoc.perl.org/functions/stat.html
# and from : http://kobesearch.cpan.org/htdocs/perl/Fcntl.pm.html
# Amybe this has CHANGED since 2006, when I am sure this was working!!!
# 'stat' returns 13 fields ...
# ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
# $atime,$mtime,$ctime,$blksize,$blocks)
# = stat($filename);
# 0 dev device number of filesystem
# 1 ino inode number
# 2 mode file mode (type and permissions)
# 3 nlink number of (hard) links to the file
# 4 uid numeric user ID of file's owner
# 5 gid numeric group ID of file's owner
# 6 rdev the device identifier (special files only)
# 7 size total size of file, in bytes
# 8 atime last access time in seconds since the epoch
# 9 mtime last modify time in seconds since the epoch
# 10 ctime inode change time in seconds since the epoch (*)
# 11 blksize preferred block size for file system I/O
# 12 blocks actual number of blocks allocated
# * Not all a valid on all file systems
# 13/10/2009 - But in WIN32, it also seems blksize and blocks are NOT valid, filled in???
# (The epoch was at 00:00 January 1, 1970 GMT.)
# add 'use' statement -
use File::stat; Fcntl ':mode'; 
sub mth_to_num stat_mode_stg 

stdintest.pl 2005/11/30 13:55:38 153
use IO::Handle; 

stripcols.pl 2010/06/29 18:32:10 20,961
# AIM: Strip the left number of columns off a file
# 29/06/2010 - Functionality check
# 03/11/2009 - Add more options
# 2009/09/23 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; Cwd; File::Basename; Time::gmtime; 
sub prtw show_warnings pgm_exit prt_help get_YYYYMMDD chomp_rule_line chomp_rule_line_end chomp_rule_line_bgn process_file get_begin_table begin_html is_my_file_type get_file_type_txt write_output parameter_verification need_arg parse_args 

striphtml.pl 2005/06/21 17:28:12 6,098
use HTML::Parser (); Data::Dump (); 
sub hand prt 

striphtml02.pl 2005/11/30 17:34:08 9,517
# AIM: To strip HTML from a file using HTML::Parser
# some regex that is similar -
# FROM : http://www.trilug.org/pipermail/trilug/Week-of-Mon-20040216/024049.html
# Doing some experimentation, I see that perl is normally greedy, but
# if you postpend a quantifier with ? it turns that off. So, this
# should remove all html tags from a file:
# perl -pi -e 's/<.*?>//g' [filename]
# Unfortunately, the non-greedy operator -- the question mark, is not
# standard to the C library regexp() call, which I'm using. However, the
# following accomplishes something similar (my thanks to 'scalar' on IRC) :
# s/<[^>]+>//g
use HTML::Parser (); Data::Dump (); Carp; Time::HiRes qw( usleep ualarm gettimeofday tv_interval nanosleep ); IO::File; Fcntl; 
sub hand prt read_file_f write_file_f 

striphtml03.pl 2005/11/30 19:39:10 3,512
# AIM: To strip HTML from a file using HTML::Strip
###use strict;
use Carp; HTML::Strip; Time::HiRes qw( usleep ualarm gettimeofday tv_interval nanosleep ); 
sub read_file_f 

stripleft.pl 2009/05/21 14:58:28 1,704
# AIM: Input a text file, and strip a number of columns from
# the left side of the file, and output the results
# 14/05/2009 - update
# geoff mclane - nov, 2006

stripleft02.pl 2011/09/08 14:09:22 5,451
# AIM: Replace stripleft.pl
# 08/09/2011 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub show_warnings pgm_exit prtw process_in_file give_help need_arg parse_args 

stripms.pl 2005/05/01 06:09:28 7,089
use strict; FILE::stat; CGI; CGI qw(:standard); HTML::Parser (); HTML::TokeParser; 
sub dotoken my_start2 my_start my_end my_text my_comm parse_arguments 

stripms2.pl 2005/05/01 09:06:40 1,591
use HTML::Parser (); 
sub my_start2 my_start my_end my_text my_comm 

stripms3.pl 2005/05/04 05:53:48 8,769
use HTML::Parser (); Data::Dump (); 
sub hand parse_args prt 

stripms4.pl 2005/05/11 11:35:00 16,135
use HTML::Parser (); Data::Dump (); 
sub hand parse_args prt prt2 prtd getback dirname getfn 

stripms5.pl 2005/11/23 18:33:46 16,682
use HTML::Parser (); Data::Dump (); 
sub hand parse_args prt prt2 prtd getback dirname getfn 

stripms6.pl 2005/11/23 19:35:24 15,833
use HTML::Parser (); Data::Dump (); 
sub hand parse_args prt prt2 prtd getback dirname getfn 

stripspan.pl 2006/07/28 20:12:08 2,566
# AIM: Strip <span ...>something </span> from HTML

sublist.pl 2010/06/27 15:28:46 30,107
# AIM: Give a perl script name, list the 'sub' contained
# Took file decoder from chkperl.pl, but needed to 'fix' a few things
# regarding regex skipping, and adding heredoc handling (which SHOULD be added to chkperl.pl!
# 27/06/2010 geoff mclane http://geoffair.net/mperl
# Subroutine name list - generated by sublist.pl, on 20100627
# set_debug($), pgm_exit($$), prtw($), show_warnings(), YYYYMMDD2($$), get_space_indent($), line_is_heredoc($$),
# process_file($), show_has_ref($), give_help, need_arg, parse_args
# === End sub name list ===
use strict; warnings; File::Basename; Cwd; 
sub set_debug pgm_exit prtw show_warnings YYYYMMDD2 get_space_indent line_is_heredoc process_file show_has_ref get_sub_hr cmp_2_rh process_input_list show_ref_h give_help need_arg parse_args 

sublist02.pl 2010/06/27 15:45:18 23,537
# AIM: Give a perl script name, list the 'sub' contained
# Took file decoder from chkperl.pl, but needed to 'fix' a few things
# regarding regex skipping, and adding heredoc handling
# 27/06/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub pgm_exit prtw show_warnings YYYYMMDD2 get_space_indent line_is_heredoc process_file show_has_ref give_help need_arg parse_args 

subref.pl 2008/02/13 17:31:24 800
# AIM: To call a function, or set a global, by calling a function ...
use strict; warnings; 
sub set_value1 set_value2 type1 type2 prt 

substr01.pl 2006/07/11 16:17:46 1,244
sub max_sub 

sum.pl 2011/08/15 20:13:34 4,855
# AIM: Sum of a set of values...
# 15/08/2011 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file get_sum give_help need_arg parse_args 

svnexclude.pl 2007/10/22 14:39:46 2,130
# AIM: Very specific utility to REMOVE diffs of files in '.svn' folders ...
# 22/10/2007 - geoff mclane - geoffair.net/mperl
use strict; warnings; 

svnvers.pl 2007/11/26 14:31:28 1,468
# AIM: Check a directory, and output the current SVN version number ...
# 26/11/2007 - geoff mclane - http://geoffair.net/mperl
use strict; warnings; 
sub check_svn_vers prt 

t2html.pl 2005/06/14 09:59:24 2,904
use strict; 
sub prt add_html_head add_html_tail tolog htmlise 

table2hash.pl 2008/01/29 18:36:42 3,373
# AIM: Read in a HTML table, and convert to a Perl HASH structure ...
# 29/01/2008 - geoff mclane
use strict; warnings; 
sub process_chars 

table2str.pl 2009/10/01 16:53:18 5,104
# AIM: VERY SPECIFIC - read a HTML file, extract the 'table', and write it as a structure...
# 01/10/2009 geoff mclane http://geoffair.net/mperl
use strict; warnings; 
sub process_file show_code_ref_simple show_code_ref 

tafacronyms.pl 2008/01/31 20:23:22 7,361
# AIM: List of TAF acronyms
use strict; warnings; 
sub get_acro_desc is_in_taf_exceptions is_in_taf_spl_exceptions 

tanlist.pl 2007/02/11 19:13:10 525
# AIM: List TANGENT of 0 to 360 degrees ...
use strict; warnings; Math::Trig; 

telnet2fg.pl 2011/01/02 19:23:24 10,635
# AIM: Attempt a telent (socket) connection to FG, and report the
# aircraft position, if running...
use strict; warnings; File::Basename; IO::Socket; Cwd; Time::HiRes qw( usleep gettimeofday tv_interval ); 
sub show_warnings pgm_exit prtw process_in_file get_playback_nodes get_KAP140_nodes fgfs_connect fgfs_send fgfs_get fgfs_close fgfs_get_coord read_playback_nodes read_autopilot_nodes attempt_connection give_help need_arg parse_args 

temp.pl 2014/04/24 19:34:51 6,841
# AIM:
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file do_sub need_arg parse_args give_help 

temp1.pl 2014/03/17 22:27:25 5,656
# AIM:
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file need_arg parse_args give_help 

temp2.pl 2014/03/18 20:32:52 5,281
# AIM:
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file need_arg parse_args give_help 

temp3.pl 2014/03/21 21:10:57 8,054
# AIM:
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file process_in_dir need_arg parse_args give_help 

test-bucket.pl 2009/03/25 18:04:36 3,865
use strict; warnings; Bucket; 
sub prt show_bucket 

test-bucket2.pl 2009/11/18 13:12:12 893
# AIM: Final debug on Bucket2.pm
# 18/11/2009 geoff mclane http://geoffair.net/mperl
use strict; warnings; Bucket2; 
sub show_bucket 

test-eval.pl 2010/07/07 13:56:42 1,915
# AIM: test generation of variables, and gettting their value
# This would also work for calling subroutines
# 2009/10/24 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; 
sub prt test1 test2 

test-eval02.pl 2010/07/07 14:46:44 1,074
use strict; warnings; 
sub set_debug_item svc_set_dbg_item 

test-file-spec.pl 2010/01/16 20:34:22 2,476
# AIM: Some simple tests of File::Spec
use strict; warnings; File::Basename; Cwd; File::Spec; 
sub pgm_exit prtw show_warnings test_dir_rel_2_abs test_rel_abs 

test-hash-ref.pl 2010/04/08 15:09:02 1,292
use strict; warnings; 
sub prt build_hash show_hash_ref 

test-json.pl 2013/12/07 14:13:55 5,250
# AIM: Use the perl JSON module to decode a JSON string, and hopefully
# report any errors...
use strict; warnings; File::Basename; Cwd; JSON; Data::Dumper; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file need_arg parse_args give_help 

test-time.pl 2011/04/19 13:27:16 3,234
use strict; warnings; IO::Socket; Time::HiRes qw( usleep gettimeofday tv_interval ); 
sub prt get_time_stg do_usleep_for test_usleep 

test-type.pl 2013/09/01 19:59:52 5,168
sub prt same_base_type same_base_name 

test-url-uri.pl 2010/07/24 16:24:50 3,060
use strict; warnings; File::Basename; 
sub url_parse uri_parse uri_parse2 

test.pl 2013/08/04 12:38:06 5,844
# AIM: Various 'test'
use strict; warnings; File::Basename; LWP::Simple; IO::File; 
sub prt fetch_url trim_leading trim_tailing trim_ends trim_all strip_comments space_split2 path_d2u get_parent_dir test_splice2 test_splice test_array test_text 

test00.pl 2012/05/09 20:41:20 77,264
# AIM: Used to develop lib_cmakeread.pl
# 02/05/2012 - Looking quite smooth ;=))
use strict; warnings; File::Basename; Cwd; 
sub get_curr_ref_hash VERB1 VERB2 VERB5 VERB9 show_warnings close_dump dump_cmake pgm_exit prtw local_cmake_fix_directory get_cmake_install_paths_ra scan_cmake_path get_cmake_common_directory scan_cmake_install_paths is_loaded_macro clean_cmake_action process_cmake_script process_cmake_file process_in_file process_test_file test_load_installed_cmake do_cmake_subdirectories test_lines list_set_items list_list_items get_body list_directives list_macro_items list_function_items do_test check_file_for_q_object do_if_test do_if_test2 give_help need_arg parse_args cmake_if_parsing_NEARLY_OK cmake_if_parsing local_cmake_version_comp cmake_if_parsing_VERY_GOOD cmake_if_parsing_QUITE_OK 

test1.pl 2010/09/20 10:21:14 12,814
# AIM:
use strict; warnings; File::Basename; Cwd; File::stat; Digest::MD5; File::Spec; File::DosGlob 'glob'; 
sub get_user_rt get_user_libs get_user_incs get_user_defs get_user_output get_user_inter add_defined_item add_include_item show_warnings pgm_exit prtw show_file get_perl_temp_dir do_sanity_check module_intialisation test1 

test10.pl 2005/05/08 14:09:28 5,099
use strict; warnings; CGI; 
sub hashCode showarrcnts 

test11.pl 2006/12/15 20:24:08 1,515
sub show_cond 

test12.pl 2012/06/11 15:23:32 215
use strict; warnings; 

test13.pl 2006/07/15 15:31:52 633

test14.pl 2006/04/16 15:53:56 1,611
sub amend_vcproj prt 

test2.pl 2010/09/20 14:12:46 10,215
# AIM: Just a test scripts
use strict; warnings; File::Basename; Cwd; 
sub pgm_exit prtw show_warnings dispSymbols displaylibSymbols show_ac_hash get_dbg_var set_dbg_var get_dbg_range test1 process_ac_file test2 give_help need_arg parse_args 

test2bat.pl 2014/07/01 15:02:01 8,813
# AIM: Try to convert a shell script to a Windows batch file
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file need_arg parse_args give_help 

test3.pl 2010/08/02 16:25:32 330
use strict; warnings; 
sub prt 

test4.pl 2006/10/26 13:00:10 4,362
# AIM: To use my own zip8.bat to get the list of files, within a zip file
# This zip8.bat just uses the command line addin of WINZIP
# @set TEMPWZ="C:\Program Files\WinZip\WZZIP.EXE"
# @%TEMPWZ% %1 %2 %3 %4 %5 %6 %7 %8 %9
use File::stat; 
sub get_zip_txt dos_2_unix subactdir YYYYMMDD 

test5.pl 2006/09/11 17:35:14 9,464
# AIM: just testing some actions using a HASH
# 1. does @hk = keys %hash work? Yes, absolutely
# 2. can a has entry contain an array - like $hash{$file} = @arr
# No, but it can contain a 'reference' to an array, which can be 'anon' ...
# Note below the deep indexing into the reference to a multi-dimensional array
# like - $v = ${@{${@{$hash{$k}}}[$i]}}[$i2];
### note - a reference is NOT really just a pointer to
### since in this case @na only has a scope in this for, and
### its value is changed with each iteration
### so a 'reference' is really a 'copy' of the array.
### To 'prove' this, I clear the arrays, put difference values in each
### but these 'new' values do not appear until I do set_changes ...
### It is clear that 'reference' in Perl has NO SIMILARITY to a 'reference' in C++ !!!
### That begs the question - how do you pass a C++ type 'reference' in Perl?
### That is a 'pointer' to a variable to be changed during the function?
### Of course, the global scope of variable, means the function can 'directly' access,
### and change the global ... so there is not much need to pass a 'pointer to' ...
##use strict;
use Switch; 
sub build_arr4 build_arr4_2 show_using_indexing show_with_extraction show_and_change set_changes shw show_showcase showcase build_arrays build_arrays2 

test6.pl 2006/09/18 14:25:32 1,837
#AIM: Test 'package' function
# In general some things work, but LOTS DO NOT ;=((
# Trying to load @stxBI using an external function
# seemed to FAIL, even with push(@main::@stxBI, $txt)
# The only way was to put add_2_array in main,
# and call from the other module using main::add_2_array($$) ...
# Maybe I was doing something wrong???
use strict; warnings; 
sub add_2_array is_built_in add_2_old 

test7.pl 2006/09/18 15:32:08 13,824
use strict; warnings; 
sub is_built_in transfer_old_table3 mark_old_index get_table_array process_tbl_arr process_tbl_arr3 get_old_index tag2newline collectoi_hrefs trim_line load_html_stx load_php_stx do_stx_load 

test8.pl 2007/06/08 15:53:38 4,083
# AIM: download and write a file ...
# carefully checking the LINE ENDINGS contained in the file
use strict; warnings; LWP::Simple; 
sub show_line_ending check_line_ending force_dos_le force_unix_le 

test9.pl 2006/10/27 18:43:08 5,008
use strict; 
sub collecthrefs strip_quotes trim_tail del_td_style trimall show_pack_simple prt show_pack 

test_req1.pl 2010/09/04 10:14:46 993
use strict; warnings; 
sub dispSymbols displayAllSymbols 

test_req2.pl 2010/09/04 10:05:06 150
use strict; 

test_x.pl 2010/04/14 15:37:26 183

testbits.pl 2009/09/01 11:04:18 508
use strict; warnings; 

testcolor.pl 2007/03/28 14:04:00 9,916
# AIM:
use strict; warnings; 
sub html_begin html_end URLDecode URLEncode URLEncodeORG 

testdsphdrs.pl 2009/08/19 12:14:04 2,581
# AIM: To test how to implement new headers, and options
# 8/19/2009 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; File::Basename; 
sub get_common_header get_common_body get_orig_header get_new_header 

testfish.pl 2009/03/11 15:17:30 13,629
use lib "C:\\GTools\\perl"; strict; Cwd; File::stat; Fish; 
sub writeHTML writeGraph do_user_dir do_sub_dir parse_arguments dirname retfulldir subactdir addbold addcolm addcolmr html_head html_head2 html_tail b2ks1 get_nn 

testiso.pl 2006/08/28 12:30:14 2,620

testiso2.pl 2006/08/28 14:09:58 1,008
sub ISO2Currency Currency2ISO 

testpage.pl 2007/09/07 12:36:42 3,177
# AIM:
use strict; warnings; 
sub dec2hex 

tests2d.pl 2009/10/29 17:00:36 11,209
# AIM: Just a test module
use strict; warnings; Cwd; File::Basename; 
sub prtw show_warnings pgm_exit get_stgs_4_short_hr get_lines_hash compare_lines show_diff_lines test4 add_3rd_config get_sub_ref test3 test6 test5 test_is_resource_file test7 test8 

testsock.pl 2005/03/25 03:24:32 2,129
use IO::Socket; IO::Select; 

testsock1.pl 2005/03/13 08:06:36 1,543
use IO::Socket; strict; Socket; 

thread1.pl 2005/07/20 08:44:20 1,176
use threads; Thread::Queue; 
sub check_num 

thread2.pl 2007/01/27 13:37:10 939
use threads (); threads::shared (); 
sub get_nn 

Tidy01.pl 2008/08/05 14:53:00 2,076
# AIM: To test a little, the HTML::Tidy interface ...
use strict; warnings; HTML::Tidy; 

Tidy02.pl 2011/01/15 21:16:50 29,267
# AIM: SPECIFIC TO HTML TIDY ONLY - HTML5 SUPPORT RESEARCH
use strict; warnings; File::Basename; Cwd; 
sub show_warnings pgm_exit prtw trim_tag set_min_tag set_min_val sanity_check show_ref_hash process_attr_table process_enums_tag_at process_tag_table process_attr_dict process_defines_file get_anon_hash process_files give_help need_arg parse_args global_attributes 

tidycmp.pl 2006/09/24 16:43:34 6,144
# AIM: To DOWNLOAD the accessibility table from the web site
# http://www.aprompt.ca/Tidy/accessibilitychecks.html
# and compare its contents to Tidy's accesscases.txt
use strict; warnings; LWP::Simple; 
sub test_in_lines test_in_lines_ok trimall 

tidycmp02.pl 2007/06/08 18:48:12 10,856
# AIM: To DOWNLOAD the accessibility table from the web site
# http://www.aprompt.ca/Tidy/accessibilitychecks.html
# parse the html, extracting the HTML test file link
# Download the link, advise if FAILED,
# else write the file to an OUTPUT folder,
# converting the line endings to DOS line endings ...
# and compare its contents to Tidy's accesscases.txt
# NOTE: With $dbg1 == 0, there can be quite LONG delays before NEXT output ...
# Likewise if $dbg2 == 0, and/or $dbg3 == 0 - it looks like NOTHING is happening!!!
use strict; warnings; LWP::Simple; 
sub find_desc test_in_lines trimall force_unix_le 

tidytxt.pl 2007/09/03 17:20:32 2,388
# AIM: To use Tidy to check some text
# try to get stdin working ...
# 03/09/2007 geoff mclane - http://geoffair.net/mperl
#use strict;
use warnings; 
sub get_tidy_text get_tidy_text2 get_zip_txt get_zip_txt2 

tidyword.pl 2007/05/06 17:42:30 5,879
# AIM: Take a tidied word filtered html and remove MsoNormal, MsoPlainText calls paragraphs,
# That is no margin paragraphs separated by a 'blank' become 'normal' paragraphs, and
# paragraphs following each other become one paragraph with <br> separating the lines
# 06/05/2007 - geoff mclane - geoffmclane.com
use strict; warnings; 
sub lineinparas getcontent getpara 

timing.pl 2008/12/18 15:43:58 728
# AIM: Test high resolution timing
# 17/12/2008 geoff mclane http://geoffair.net/mperl
use strict; warnings; Time::HiRes qw(gettimeofday tv_interval); 
sub bump_cnt run_test 

toclipboard.pl 2012/11/18 13:44:00 744
# AIM: Copy the command given to the clipboard. If no command, show clipboard
use strict; warnings; Win32::Clipboard; 
sub prt 

touch.pl 2007/03/03 18:32:14 5,125
# AIM:
#------------------------------------------------------------
# touch.pl
# from : http://www.cse.scu.edu/~tschwarz/COEN252_05/Homeworks/hw3.html
# This script is proof of concept code, demonstrating the ability
# to arbitrarily modify the creation, last access and last
# modification dates of files.
# The only required module is Win32::API::Prototype, from Dave Roth's
# site: ftp://ftp.roth.net/pub/ntperl/Prototype
# OR
# perl ppm.pl install http://www.roth.net/perl/packages/win32-api-prototype.ppd
# ppm install http://www.roth.net/perl/packages/win32-api-prototype.ppd
# Usage: [perl] touch.pl [filename]
# The script has a hard-coded target date; the user can
# go to that section of code and modify it accordingly.
use strict; Win32::API::Prototype; File::stat; 
sub getTimes 

trim.pl 2014/03/03 13:46:38 5,610
use strict; warnings; 
sub VERB1 VERB2 VERB5 VERB9 prt pgm_exit trim_leading trim_tailing trim_ends trim_all write2file process_file need_arg parse_args give_help 

trimdf01.pl 2010/05/14 19:09:40 3,581
# AIM: To input the output of a directory command,
# and output a TRIMMED version ...
# a) remove blank lines ...
# b) remove leading spaces off lines
# c) remove lines -
# i. Volume in drive C has no label.
# ii. Volume Serial Number is D833-AEFA
# iii. 1 File(s) 7,117 bytes
# iv. Total Files Listed:
# v. 163 File(s) 2,271,636 bytes
# vi. 0 Dir(s) 176,651,669,504 bytes free
# 2009/09/28 - called by cleandir.bat file, so some improvements
# 2006/11/25 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; Cwd; File::Basename; 
sub pgm_exit trim_leading process_file parse_args 

txfdump.pl 2009/07/06 12:29:42 3,802
use strict; 
sub getsbyte getbyte getshort getint 

txt2htm.pl 2006/09/16 20:37:42 6,790
use strict; Cwd; 
sub parse_arguments init_out_file end_out_file do_this_file dsp_add_src dirname 

txt2htm02.pl 2012/10/10 15:42:38 16,455
use strict; warnings; Cwd; File::Basename; File::Spec; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw init_out_file end_out_file local_dirname do_this_file convert_links add_url_links line_to_html contains_a_link dsp_add_src need_arg parse_args give_help 

txt2html.pl 2013/02/19 22:01:02 5,948
# AIM: Very SPECIFIC
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file need_arg parse_args give_help 

typefile.pl 2011/06/05 13:34:00 5,458
# AIM: Given an input file, output without comments /* .... */ or
# lines beginning /\s*\/\/
use strict; warnings; File::Basename; Cwd; 
sub show_warnings pgm_exit prtw process_in_file give_help need_arg parse_args 

typeglob-assignment.pl 2010/09/03 16:38:52 328
sub foo 

typeglob-name-package.pl 2010/09/03 16:28:36 311
sub who_am_i 

udp-client.pl 2012/03/11 14:03:04 1,326
use warnings; strict; POE; IO::Socket::INET; constant DATAGRAM_MAXLEN => 1024; 
sub client_start client_read 

udp-server.pl 2012/03/11 14:03:58 1,182
use warnings; strict; POE; IO::Socket::INET; constant DATAGRAM_MAXLEN => 1024; 
sub server_start server_read 

unicode.pl 2008/09/02 20:19:02 7,436
# AIM: Generate a BIG SEQUENCE of UNICODE values, and put
# it all in a HTML page.
# 02/09/2008 - put it in a table, and add jump links
# 07/09/2007 - geoff mclane - http://geoffair.net
use strict; warnings; 
sub prt_top dec2hex 

unix-time.pl 2013/09/03 14:05:00 1,068
use strict; warnings; 
sub prt show_local_time 

unixit.pl 2007/12/20 17:51:24 2,372
# AIM: Given an input file, convert to unix/linux form ...
use strict; warnings; 
sub prt give_help need_arg parse_args 

unlink.pl 2007/03/04 17:04:00 1,140
# AIM: To do a simple test on built in function, unlink ...
# Note no -w above, else get additional warnings ...
use strict; warnings; File::stat; 
sub check_file 

utf_16_BOM.pl 2013/01/23 18:35:39 9,191
use strict; warnings; File::Basename; 
sub VERB1 VERB2 VERB5 VERB9 prt pgm_exit has_utf_16_BOM line_has_bom remove_utf_bom load_file_lines my_write2file process_in_file need_arg parse_args give_help 

utils.pl 2010/09/22 13:06:06 1,393
# AIM: Various utility subs
# 22/09/2010 - now see lib_utils.pl for these...
sub trim_tail unix_2_dos fix_rel sub_common_folder 

vartypes.pl 2010/09/03 16:18:08 433
sub add 

vc6srcs01.pl 2007/11/27 16:11:08 21,843
# AIM: Given a DSW solution file, search set of DSP and list sources.
# and given a singel DSP, list sources
# 16/11/2007 - geoff mclane - geoffair.net/mperl
use strict; warnings; File::Basename; 
sub show_other_sources show_sources2proj check_build_exclude show_dsp_sources scan_dsp_file get_dsw_projects strip_quotes expand_mac do_if_split flip_state clear_per_dsp load_dsp get_top_files mark_all_files find_in_all_files show_dsw_missed show_dsp_missed is_c_source is_h_special is_h_source is_dsw_file is_sln_file is_ch_source is_my_type show_all_sources sub_common_folder sub_root 

vc8cmp-01.pl 2006/06/11 17:24:38 11,345
use strict; Cwd; Win32::OLE qw(in with); 
sub compare_files check_match get_vcproj_files check_input is_solution is_vcproj give_help parse_arguments pos_of_last_slash file_extension file_title file_name file_dirname dirname wlog prt mydie 

vc8cmp-02.pl 2006/07/27 11:55:12 12,506
use strict; Cwd; Win32::OLE qw(in with); 
sub compare_files check_match get_vcproj_files check_input is_solution is_vcproj give_help parse_arguments pos_of_last_slash file_extension file_title file_name file_dirname dirname prtd 

vc8config.pl 2007/09/05 18:10:36 3,655
# AIM: To read a config.h.in file, and write a config.h, using
# the include PATH of MSVC8
use strict; warnings; 
sub load_includes load_cfg_in dos_2_unix in_vc8include find_headers 

vc8srcs01.pl 2006/07/25 13:23:24 4,376
# AIM: Source list from MSVC8 project file
# First try, using XML::Simple, so
use Data::Dumper; XML::Simple; 
sub cmp_c_sources get_dir_sources get_xml_sources is_c_source is_h_source 

vc8srcs02.pl 2006/11/28 13:35:26 16,545
# AIM: Source list from MSVC8 project file
# but this version starts with the SOLUTION (.sln) file,
# finds the PROJECT (.vcproj), and does a source compare
# with the relative directories given in there ...
# First try, using XML::Simple, so
use XML::Simple; Data::Dumper; 
sub in_dir_array get_xml_projects get_dir_sources get_xml_sources cmp_c_sources cmp_am_sources is_c_source is_h_source is_vcproj is_solution 

vc8srcs03.pl 2010/04/15 14:16:38 42,145
# AIM: Source list from MSVC8 project file
# but this version starts with the SOLUTION (.sln) file,
# finds the PROJECT (.vcproj), and gets the PROJECTS, and
# the SOURCES from there, and lists them
# 2010/04/15 - add list of 'MISSED' files at end
# 13/11/2007 - geoff mclane - http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub show_warnings pgm_exit prtw os_is_win sub_root_directory repeat_missed_items show_dsw_compare in_dsw_srcs in_dsw_hdrs in_sln_srcs show_vc8_sources show_dsp_sources get_dsw_projects process_sources in_dir_array get_xml_projects get_dir_sources mark_all_files show_all_sources get_top_files trimall get_xml_sources cmp_c_sources cmp_am_sources is_c_source is_h_special is_h_source is_dsw_file is_sln_file is_ch_source is_my_type is_vcproj is_solution unix_2_dos fix_rel trim_tail strip_quotes expand_mac do_if_split known_ext load_dsp get_comm_dir need_args give_help parse_args 

vc_cmp.pl 2010/05/07 17:18:48 14,754
# AIM: Compare 2 vcproj files
use strict; warnings; File::Basename; Cwd; 
sub pgm_exit prtw show_warnings compare_source_arrays compare_config_arrays compare_hash_results compare_files give_help need_arg parse_args 

vc_sln.pl 2010/05/17 15:23:30 13,794
# AIM: Scan a SLN file, and report contents
use strict; warnings; File::Basename; Cwd; 
sub set_dbg_flags set_dbg_on set_dbg_off pgm_exit prtw show_warnings is_vcproj_ext process_SLN_file3 process_sln_file give_help need_arg parse_args 

vcdelcfg.pl 2010/05/28 19:41:24 23,849
# AIM: VERY SPECIFIC - Given a VCPROJ file, and a configuration name
# delete that configuration. If just given the VCPROJ file, just list
# existing configuration...
# 28/05/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub get_xml_hash pgm_exit prtw show_warnings show_xml_hash get_xml_line_from_hash in_delete_list debug_xml_lines get_bat_text process_file give_help need_arg parse_args 

vcfix.pl 2010/05/30 20:26:00 75,041
# AIM: VERY SPECIFIC - Given a VCPROJ file, and a configuration name
# fix that configuration... as specifically shown below
# 29/05/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub get_xml_hash show_warnings pgm_exit prtw show_xml_hash show_xml_hash_diff get_xml_line_from_hash is_my_config is_my_config2 debug_xml_lines get_bat_text tag_has_attributes process_file give_help need_arg parse_args 

vcopts.pl 2013/09/23 15:29:07 97,522
# AIM: Show compiler defines in a vc project
# 22/02/2012 - Added 'Yc' and 'Yu' compiler switches
use strict; warnings; File::Basename; Cwd; File::Spec; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file return_common_dir get_common_dir is_sln_ext is_vcproj_ext fix_rel_path2 process_SLN_file2 process_vcproj_file line_has_bom remove_utf_bom load_file_lines process_VCXPROJ process_in_vcxproj process_in_vcproj process_in_sln get_def_dsp_hash_ref get_cpp_line get_link_line return_remainder_stg no_case_file_defined return_lib_remain_stg get_library_stg_hash process_LINK_stg2 process_LIB_stg2 set_default_group_and_filter set_group_and_filter get_new_tag_list set_per_cfg_name process_config_stg2 space_split_with_quotes2 get_config_stg_hash show_name_and_type unix_2_dos fix_rel scan_dsp_file_lines process_dsp_file process_in_dsp process_in_dsw is_build_type process_in_objects give_help need_arg parse_args 

vcproj01.pl 2006/04/19 17:51:08 13,600
sub prt_list trim_line find_item3 find_headers find_sources find_hash3 find_config get_lines clear_arrays process_lines show_arrays amend_vcproj prt 

vcproj02.pl 2006/07/25 15:27:26 21,606
# AIM: To load FG vcproj files, and extract the SOURCE files in there ...
sub prt mydie prt_list trim_line find_item3 find_headers find_sources find_hash3 find_config get_lines clear_arrays process_lines copy_main_items copy_lib_items show_arrays show_main_arrays show_lib_arrays show_sh_lines amend_vcproj slurp_files read_vcproj read_vcproj_OK 

vcproj03.pl 2008/12/05 13:19:52 24,892
# AIM: Parse a VCPROJ file - get_xml_source() is the service in sln2dsw.pl
use strict; warnings; File::Basename; 
sub get_xml_tag tag_typ_2_stg get_tag_typ get_app_type space_split array_2_hash_on_equals split_conf is_in_skip_conf_rel is_in_skip_conf_dbg is_in_skip_lib_rel is_in_skip_lib_dbg set_runtime_dbg set_runtime_rel get_xml_sources strip_quotes prtw show_warnings get_runtime_stg fix_rel_path is_c_source is_h_special is_h_source is_in_array is_in_array_nc set_all_debugs 

vcproj04.pl 2009/09/24 10:50:38 20,766
# AIM: To scan a VCPROJ file, and show the results
# 20090912 - add display of CWD, if can not find INPUT file name...
# This uses the services in fgscanvc.pl, to standardise the processing of a VCPROJ file
# so this is very different to vcproj03.pl, which had its own services to do the scan.
# 2009/09/22 - separarate into multiple 'temp' DSP outputs, using -NEW_PROJECT_NAME-
# but also avoid overwrtting previous out of same name...
# 2009-06-05 also try to attempt to output what the project will create... exe,lib,dll,...
# 05/12/2008 geoff mclane http://geoffair.net/mperl
use strict; warnings; Cwd; File::Basename; 
sub is_c_source_ext is_sln_ext is_vcproj_ext process_vcproj_file process_SLN_file2 remove_base_path return_common_dir get_common_dir sln_file_processing prtw show_warnings give_help chk_arg need_arg parse_args 

vcproj05.pl 2014/01/04 13:07:08 203,222
# AIM: To scan a VCPROJ file, and show the results, and write (temp) DSP/DSW files.
# Since this is all about MSVC things, no attempt has been made to run it in unix.
# 21/05/2013 - Small fix - was putting SRCS twice add_library(
# 17/05/2013 - Add -o option to set output directory of CMakeLists.txt
# 29/07/2012 - Another try at doing a cmake output - getting messy
# 19/06/2012 - Added <DisableSpecificWarnings>4996;4013;4018;4024;4047;4244</DisableSpecificWarnings>
# 10/04/2012 - Extend to MSVC10 *.vcxproj files - looking good 14/04/2012
# 19/01/2012 - Output the 'temp' DSP written
# 04/11/2011 - Warn about wild card inputs...
# 28/10/2011 - Fix like tempcopydsp.bat to COPY the DSW
# 21/10/2011 - Add an input repsponse file - $in_input_file,...
# 18/10/2011 - Reduce output if NOT verbose!
# 13/07/2011 - If a DSP destination directory given, try to FIX all DSP file source relative to this directory
# 01/12/2010 - Some updates for VC90
# 24/11/2010 - Add in VC10 support -
# 04/08/2010 - More special fixes for various things...
# 2010/07/30 - Special fix of Simgear.cs to SimGear-cs to suit my system... see $dbg_sl_14
# 2010/05/31 - For FLTK project, include *.fl in 'C' sources
# 2010/05/01 - Fixed -dsp=. (ie a relative input) to absolute using like $sarg = File::Spec->rel2abs($tmp); # get ABSOLUTE path of output
# 2010/04/23 - Add -ll to load log, and -fix-rel, to FIX the relative source and /I to the dsp output directory
# 2010/04/18 - Remove WARNING: DOES NOT CONTAIN(12) 'Filter'?, and use a default filter
# 2010/03/08 - Remove write tempvcx.xml from scanvc.pl, or only to perl base directory...
# 2010/03/01 - if vcproj contains IgnoreDefaultLibraryNames="MSVCRT", add /nodefaultlib:"MSVCRT" to DSP
# Add this to the -NEW_OUT- substitution parameter - that is to the # ADD LINK32 line.
# Can be DIFFERENT per configuration. Altered scanvc.pl to collect this, and fgdsphdrs03.pl to do substitution
# 2010/01/16 - Feeling confident of scans and dsp written - add write actual replacement!
# BUT first, begin to use File::Spec...
# 2009/11/11 - Final tidying up - seems to work fine...
# 2009/10/20 - support MULTIPLE configurations - not compatible with previous versions
# which alwasy had only 2 configurations - Debug and Release.
# 20090912 - add display of CWD, if can not find INPUT file name...
# This uses the services in scanvc.pl, to standardise the processing of a VCPROJ file
# so this is very different to vcproj03.pl, which had its own services to do the scan.
# 2009/09/22 - separarate into multiple 'temp' DSP outputs, using -NEW_PROJECT_NAME-
# but also avoid overwrtting previous out of same name...
# 2010/01/14 - add a DSP COMPARE, if one already exist, and if requested...
# 2009-06-05 also try to attempt to output what the project will create... exe,lib,dll,...
# 05/12/2008 geoff mclane http://geoffair.net/mperl
use strict; warnings; Cwd; File::Basename; File::Spec; 
sub get_write_dsp_files is_system_lib VERB1 VERB2 VERB5 VERB9 get_curr_auto_flag get_inst_hdr_path get_inst_lib_path get_inst_hdr_bin get_write_cmake_files get_project_incs get_project_defs get_user_incs get_user_defs get_sl_debug_stg set_sl_debug_val set_sl_debug_on set_sl_debug_off prtw show_warnings pgm_exit is_c_source_ext is_sln_ext is_vcproj_ext is_vcxproj_ext get_new_inc_hash get_new_post_string get_new_libs_string Get_Default_Group chk_relative_paths fix_lib_list show_project_hash get_hash_results process_vcproj_file fix_rel_path2 process_SLN_file2 remove_base_path return_common_dir get_common_dir mysort2 mysort0 sort_ref_results_by_type sort_ref_results_by_name show_sln_results sln_file_processing line_has_bom remove_utf_bom load_file_lines get_xml_ref_array write_xml_lines get_tag_hash show_tag_hash set_curr_config get_rt_value merge_library_list merge_inc_directories split_defines_dlist set_preprocessor_defines set_runtime_library set_configuration_type process_rxml_vcxproj my_sub_common_folder process_vcxproj_file accumulate_incs get_cmake_blob get_cmake_blob2 filter_defines_list try_another_cmake write_cmake_output chk_arg need_arg load_arg_file has_wild_cards first_colon_split set_cmake_options parse_args give_help show_cmake_help 

vcprojlist.pl 2008/03/07 16:15:46 7,593
# AIM: Parse a vcproj file, and list the sources is contains.
# 07/03/2008 - add show of LIBRARIES used for each configuration
# 15/05/2007 - geoff mclane - http://geoffmclane.com/mperl/index.htm
use strict; warnings; File::Basename; 
sub process_xml_lines strip_quotes space_split array_2_hash_on_equals is_cpp_src unix_2_dos get_rel_path fix_rel_path 

vcprojlist02.pl 2013/08/26 20:15:21 11,597
# AIM: Parse a vcxproj file, showwing information
# see earlier vcprojlist.pl for a pevious attempt
# 26/08/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; XML::Simple; Data::Dumper; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_ref_array process_ref_hash show_ref_array show_ref_hash in_skip_libs show_value_collected process_in_file need_arg parse_args give_help 

viewperl.pl 2005/05/12 12:34:34 11,167
use strict; FileHandle; Getopt::Long; Syntax::Highlight::Perl 1.0; vars qw(%OPTIONS $PAGER %ANSI_colors $formatter @FILES); 
sub show_help process_files mod2file 

viewperl2.pl 2006/06/19 12:47:02 17,063
use strict; FileHandle; Getopt::Long; Syntax::Highlight::Perl 1.0; vars qw(%OPTIONS $PAGER %ANSI_colors %ANSI_colors_ORG $formatter @FILES); 
sub show_help process_files mod2file addTTitem_bkgrd add_html_style add_html_table prt 

viewperl3.pl 2006/06/19 14:44:48 17,186
use strict; FileHandle; Getopt::Long; Syntax::Highlight::Perl 1.0; vars qw(%OPTIONS $PAGER %ANSI_colors %ANSI_colors_ORG $formatter @FILES); 
sub show_help process_files mod2file addTTitem_bkgrd add_html_style add_html_table prt 

wakeup-call.pl 2009/10/07 11:44:10 3,216
use warnings; strict; Asterisk::AGI; Time::Local; IO::File; File::Temp qw/ tempfile /; 
sub callback 

whereis.pl 2013/02/07 21:53:05 12,766
# AIM: Search for a given header on known paths
# 07/02/2013 - Add -a <drive> to search entire DRIVE/Directory recursively...
# 26/12/2012 - First cut
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw trim_to_width trim_to_max_width get_environment process_in_file process_dir process_all give_help need_arg parse_args 

wordindex01.pl 2007/08/22 16:08:34 5,163
# AIM: Given a FILE, load it in WORD, extract the text, and build an alphabetic
# index of words ...
# Uses Word OLE engine
# see http://www.ngbdigital.com/perl_ole_word.html
# 21/08/2007 geoff mclane - http://geoffair.net/mperl
use strict; warnings; Win32::OLE; Win32::OLE qw(in with); Win32::OLE::Variant; Win32::OLE::Const 'Microsoft Word'; 
sub in_common Quit enumerate_doc prtv9 remove_quotes replace_hibits 

wsg842mercator.pl 2011/11/04 13:28:26 8,141
# AIM: Convert a WSG84 lon,lat pair to a a spheical mercator point
# 31/10/2011 geoff mclane http://geoffair.net/mperl
# from : http://www.mail-archive.com/gdal-dev@lists.osgeo.org/msg03050.html
# /* spherical mercator for Google, VE, Yahoo etc
# * epsg:900913 R= 6378137
# * x = longitude
# * y= R*ln(tan(pi/4 + latitude/2)
# */
# Also see : http://code.google.com/p/gepy/source/browse/trunk/tile.py
# Coordinate extent of Earth in EPSG:900913:
# [-20037508.342789244, -20037508.342789244, 20037508.342789244, 20037508.342789244]
# The constant 20037508.342789244 comes from the circumference of the Earth in meters,
# which is 40 thousand kilometers, the coordinate origin is in the middle of extent.
# In fact you can calculate the constant as: 2 * math.pi * 6378137 / 2.0
# Polar areas with abs(latitude) bigger then 85.05112878 are clipped off.
#What are zoom level constants (pixels/meter) for pyramid with EPSG:900913?
# whole region is on top of pyramid (zoom=0) covered by 256x256 pixels tile,
# every lower zoom level resolution is always divided by two
# initialResolution = 20037508.342789244 * 2 / 256 = 156543.03392804062
use strict; warnings; File::Basename; Cwd; Math::Trig; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw convert_lon_lat convert_mx_my process_in_file in_world_range show_extents give_help need_arg parse_args 

xml-list.pl 2013/04/08 17:35:49 7,583
# AIM: Given an XML file, output a list of elements
# 08/04/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; XML::Simple; Data::Dumper; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw get_type_number get_type_text is_text_type show_hash_type show_array_type process_in_file need_arg parse_args give_help 

xml01.pl 2005/06/07 10:57:18 1,694
use XML::Simple; 
sub addbold incolm 

xml02.pl 2005/06/17 05:09:34 2,173
use Data::Dumper; XML::Simple; 
sub addpre addbold incolm addrow prt 

xml03.pl 2006/04/16 20:43:34 4,116
use Data::Dumper; XML::Simple; 
sub prt show_type 

xml04.pl 2006/04/17 12:11:44 2,244
use Data::Dumper; XML::Simple; 
sub show_type prt 

xml05.pl 2006/04/17 12:49:14 2,718
use Data::Dumper; XML::Simple; 
sub get_ind show_type prt 

xml06.pl 2006/07/25 15:27:16 23,584
use XML::Simple; Data::Dumper; 

xml07.pl 2007/11/28 16:14:00 34,464
use XML::Simple; Data::Dumper; 

xml08.pl 2011/12/22 17:22:40 10,359
# AIM: To explore the XML:Simple interface ...
# use module
# 22/12/2011 - A fresh look, and seem to have got the jist now... the load is quite SLOW,
# but each item can be enumerated. Seems ForceArray does quite little, except force each
# indent level to begin with an ARRAY
use strict; warnings; XML::Simple; Data::Dumper; 
sub get_type_number get_type_text is_text_type show_hash_type show_array_type show_xml_keys test_path test_path2 

xml2h01.pl 2007/11/10 15:18:52 5,803
# AIM: Color code XML file data
# 10/11/2007 - geoff mclane - http://geoffair.net/mperl
use strict; warnings; 
sub add_red add_value add_blue add_tag process_file conv_spaces html_line 

xml2json.pl 2014/03/01 19:05:02 2,221
use JSON::Any; XML::XML2JSON; XML::Simple; 
sub prt write2file load_file load_file2 

xml2json02.pl 2014/03/01 22:52:30 12,273
# AIM: Convert an XML file to a JSON file
# 01/03/2014 geoff mclane http://geoffair.net/mperl
# This version is bases on the oneliner from : http://blogs.perl.org/users/jhannah_mutation_grid/2010/09/one-liner-xmlperljson.html
use strict; warnings; File::Basename; JSON::Any; XML::Simple; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw pretty_json_simple pretty_json is_a_double fix_json_decimal number_fix process_in_file need_arg parse_args give_help 

xml_test.pl 2005/06/07 19:02:40 356
use Test::Harness qw(&runtests $verbose); strict; 
sub usage 

xmldom01.pl 2008/07/06 20:15:30 5,535
use XML::DOM; 
sub is_element_node getTextContents findNode getValue setValue traverse_node appendText appendNode 

xmldom02.pl 2011/11/01 18:48:52 4,322
# AIM: Like xmldom01.pl, some more experiments with XML::DOM ...
use strict; warnings; XML::DOM; 
sub traverse_node appendText setTextValue 

xmlfgair.pl 2013/04/18 14:23:40 26,002
# AIM: Read FG AirCraft -set.xml file, and show details...
# 16/04/2013 - Further improvments, more outputs from XML
# 19/02/2013 - Add help and imporve UI and output
# 06/02/2013 - Add 'author' and 'rating'
# 13/01/2010 - Initial cut
use strict; warnings; XML::Simple; File::Basename; Data::Dumper; File::Spec; Cwd; 
sub process_dir VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw is_in_excluded get_parent_dir is_decimal get_fg_xml_data process_file process_files process_dirs show_ref_hash write_outputs need_arg parse_args give_help 

xmlfgkey.pl 2005/10/23 12:43:10 523
use XML::Simple; 

xmlfgkey2.pl 2005/10/23 13:00:32 495
use XML::Parser; XML::SimpleObject; 

xmlfgkey3.pl 2007/11/28 17:00:22 683
use XML::Twig; 

xmlfix01.pl 2007/08/25 03:17:00 3,327
# AIM: Read an XML file, and add a title from the split of the file name
use strict; warnings; XML::Simple; Data::Dumper; 
sub split_file_name makeNewHash 

xmlfix02.pl 2007/08/25 13:46:56 1,790
# AIM: exploring add keyattr => [key, tag] to new
# BUT AS FAR AS I CAN TELL THEY ARE EXACTLY THE SAME!!!
# can not use 'strict' with [key, tag] ...
# 25/08/2007 geoff cmalne - geoffair.net/mperl/
#use strict;
use warnings; XML::Simple; Data::Dumper; 

xmlgparse.pl 2010/01/25 19:28:52 28,903
# AIM: My attempt at my OWN XML parser
use strict; warnings; 
sub is_cdata ret_stack_text get_ref_tag get_att_ref get_save_ref parse_xml_text parse_xml_file fix_xml_path show_rh_kv show_ref_hash get_all_children xml_get_content_text xml_get_element_text xml_get_element_hash_for_array 

xmllibxml01.pl 2006/07/25 15:59:44 915
use strict; XML::LibXML; Data::Dumper; 

xmlparse.pl 2014/02/28 20:15:14 16,107
# AIM: 08/10/2013 -Experiments with XML::Parser
# 28/02/2014 - More experiments, on some ICAO.xml from the LDS767 zip (C:\Users\user\Downloads\LDS767)
# More successful, but STILL TOO MESSY ;=(( There MUST be another way to parse XML?????????
# The parser inserts BLANK HASHES, followed by a strange '0', and adds whitespace text!!!
use strict; warnings; File::Basename; XML::Parser; Data::Dumper; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw treestg dump_view is_a_double enum_array process_in_file need_arg parse_args give_help 

xmlreline.pl 2011/12/20 20:37:22 10,090
# AIM: Simple read and re-line an XML file input, write to output, if one given
# 20/12/2011 - Review only - no major changes
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file give_help need_arg parse_args 

xmlsax.pl 2014/02/28 20:50:57 1,012
# AIM: Diagnose an error output
# "could not find ParserDetails.ini in C:/Perl/site/lib/XML/SAX"
# 28/02/2014 - from : http://johnbokma.com/perl/installing-xml-sax.html
# suggested running
# perl -MXML::SAX -e "XML::SAX->add_parser('XML::SAX::PurePerl')->save_parsers()"
# that created the ParserDetails.ini
# And the same site gave this program to enumerate the parser
use strict; warnings; XML::SAX; 

xmlsax01.pl 2006/07/25 17:56:28 1,262
use XML::Parser::PerlSAX; strict; 
sub new start_element end_element characters 

xmlsaxmail01.pl 2006/07/25 17:54:58 1,924
use strict; XML::Parser::PerlSAX; Mail::Sendmail; 
sub new not_used getTextContents findNode getValue 

xmlsimple.pl 2010/01/13 15:59:38 20,443
# AIM: Explore XML simple interface ...
# 2009/10/15 - try again...
# 07/06/2008 - geoff mclane - http://geoffair.net/mperl/
# use XML::Simple;
# my $file = 'files/camelids.xml';
# my $xs1 = XML::Simple->new();
# my $doc = $xs1->XMLin($file);
# foreach my $key (keys (%{$doc->{species}})){
# print $doc->{species}->{$key}->{'common-name'} . ' (' . $key . ') ';
# print $doc->{species}->{$key}->{conservation}->final . "\n";
#}
# Other references
# http://search.cpan.org/dist/XML-Simple/lib/XML/Simple/FAQ.pod#How_do_I_use_XML::Simple?
# http://www.ibm.com/developerworks/xml/library/x-xmlperl1.html?ca=dgr-lnxw97XML-Simple
# $VAR1 = {
# 'passwd' => 'longNails',
# 'user' => 'freddy',
# 'books' => {
# 'book' => [
# {
# 'title' => 'Cannery Row',
# 'author' => 'Steinbeck'
# @{$config->{books}->{book}}[0]->{title} or 'Cannery Row'
use strict; warnings; XML::Simple; Data::Dumper; 
sub show_hash_data show_array_values show_hash_keys pgm_exit show_fg_xml_data show_fg_xml_data_fa load_xml_file is_scalar_type get_type_name test_files test_configuration 

xmlsimple02.pl 2013/04/30 19:43:13 16,403
# AIM: Further experiements with XML:Simple
# See xmlsimple.pl for earlier experiments...
use strict; warnings; File::Basename; File::stat; XML::Simple; Data::Dumper; LWP::Simple; JSON; Cwd; 
sub write_ref_hashes VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw rename_2_nxt_num get_oldest_time_in_dir reload_previous_json get_json mycmp_nc_sort mycmp_ascend_n1 mycmp_decend_n1 out_usage_list process_in_file get_crossfeed need_arg parse_args give_help 

xmlsimple03.pl 2014/03/01 20:24:46 31,678
# AIM: Further experiments with XML::Simple
# 28/02/2014 - Another try... quite successful... creates a good perl reference
# See xmlsax.pl for resolving a problem "could not find ParserDetails.ini in C:/Perl/site/lib/XML/SAX"
# 01/03/2014 - After LOTS of effort, which got very close to completion
# decide to abandon the conversion to JSON
# The module remains a good XML parser, and value viewer
# 08/10/2013 - Initial cut
use strict; warnings; File::Basename; XML::Simple; Data::Dumper; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw simpout2 clean_ll is_a_double fix_json_decimal is_comma_term show_hash show_array get_indent process_in_file process_in_file_OK_but_specific process_in_file_MAYBE_but_specific process_files need_arg parse_args give_help simpout 

xmltwig01.pl 2006/07/25 16:02:46 385
use XML::Twig; 

xmltwig02.pl 2007/11/29 21:08:28 12,604
# AIM: Using the XML::Twig interface, especially on VCPROJ files
# Develop some Twig functions, to see how long it takes ...
# 28/11/2007 - geoff mclane - http://geoffair.net/mperl
use strict; warnings; XML::Twig; Data::Dumper; 
sub get_xml_runtime get_xml_include_dirs get_xml_pre_definitions get_xml_sources get_xml_groups get_xml_filter 

xmlwin32.pl 2007/11/28 16:49:10 9,009
# AIM: Parse an XML document using Win32::OLE ...
# references : http://msdn2.microsoft.com/en-us/library/ms753759.aspx
# http://www.perl.com/pub/a/2001/04/17/msxml.html
# 02/06/2007 - geoff mclane - geoffair.com/mperl/index.htm
use strict; warnings; Win32::OLE qw(in with); 
sub get_node_text show_type 

xmlwrap02.pl 2008/07/28 13:48:54 1,927
# AIM: Exploring XML::Parser::Wrapper, loading from file ...
# 28/07/2008 geoff mclane http://geoffair.net/mperl
use strict; warnings; XML::Parser::Wrapper; 
sub process_element 

xmlwrap03.pl 2008/07/28 13:50:46 2,498
# AIM: Exploring XML::Parser::Wrapper, loading from file ...
# specifically parsing a MSVC8 VCPROJ file
# 28/07/2008 geoff mclane http://geoffair.net/mperl
use strict; warnings; XML::Parser::Wrapper; 
sub process_element 

xmlwrapper.pl 2009/10/16 17:29:36 9,265
# AIM: Test the XML::Parser::Wrapper interface ...
# 2009/10/16 - Installed via PPM, XML-Parser-Wrapper, in DELL02...
# and test on a VCPROJ file
# 07/28/2008 - geoff mclane - http://geoffair.net/mperl/
use strict; warnings; XML::Parser::Wrapper; Data::Dumper; 
sub load_in_file enumerate_elements is_scalar_type get_type_name enumerate_vcproj xml_add_lines modify_xml 

xp2csv.pl 2014/02/20 18:10:49 121,073
# AIM: Read X-Plane (Robin Pell) earth_nav.dat and apt.dat, and output as CSV and json to
# a target directory
# 07/12/2013 - remove navaids (and ils) from json output
# geoff mclane - http://geoffmclane.com/mperl/index.htm - 20100801
use strict; warnings; File::Copy; Math::Trig; Time::HiRes qw( gettimeofday tv_interval ); constant PI => 4 * atan2(1, 1); 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw toRad toDeg isNaN distVincenty trimall get_tile add_2_tiles is_valid_nav set_average_apt_latlon set_apt_version mycmp_ascend_n0 mycmp_ascend_t1 mycmp_ascend_n1 mycmp_ascend_n4 mycmp_ascend_n5 mycmp_ascend_n6 mycmp_ascend mycmp_decend mycmp_ascend_n11 fix_airport_name in_world_range find_ils_for_apt get_ils_info get_nav_info output_apts_to_json load_apt_data load_nav_file ll2xyz xyz2ll coord_dist_sq get_bucket_info write_nav_csv look_like_icao IsANumber looks_like_rwy exception_names is_ndb_lom is_big_exception filter_nav_list write_nav_list looks_like_number looks_like_freq looks_like_id looks_like_bearing looks_like_gs parse_nav_lines check_files output_readme spl_space_split do_nav_load need_arg parse_args give_help get_nav_vers 

xp2json.pl 2013/12/11 19:37:06 101,472
# AIM: Like xp2csv.pl, this accepts ONE airport ICAO, read X-Plane (Robin Pell) earth_nav.dat
# and apt.dat, searching that ICAO, and if found output as ICAO.json
# 16/11/2013 - Allow a LIST of ICAO
# 11/11/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Copy; Math::Trig; Time::HiRes qw( gettimeofday tv_interval ); constant PI => 4 * atan2(1, 1); 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw toRad toDeg isNaN distVincenty trimall get_tile add_2_tiles is_valid_nav set_average_apt_latlon set_apt_version mycmp_ascend_n0 mycmp_ascend_t1 mycmp_ascend_n1 mycmp_ascend_n4 mycmp_ascend_n5 mycmp_ascend_n6 mycmp_ascend mycmp_decend mycmp_ascend_n11 fix_airport_name in_world_range find_ils_for_apt get_ils_info get_nav_info output_apts_to_json load_apt_data load_nav_file ll2xyz xyz2ll coord_dist_sq get_bucket_info look_like_icao IsANumber looks_like_rwy exception_names is_ndb_lom is_big_exception filter_nav_list write_nav_list looks_like_number looks_like_freq looks_like_id looks_like_bearing looks_like_gs parse_nav_lines check_files output_readme spl_space_split do_nav_load need_arg load_input_file parse_args give_help 

xpnav.pl 2013/11/23 21:46:32 20,509
# AIM: SPECIALISED: Just reading x-plane earth_nav.dat, and check every entry
# 23/11/2013 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file trimall look_like_icao IsANumber looks_like_rwy mycmp_ascend_n0 load_nav_file looks_like_number looks_like_freq looks_like_id looks_like_bearing looks_like_gs parse_nav_lines need_arg parse_args give_help 

zip2nsis.pl 2012/06/06 16:16:01 6,529
# AIM: Take output form WinZip command line tool, and convert to NSIS include script
# 06/06/2012 - Initial cut
use strict; warnings; File::Basename; Cwd; 
sub VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw process_in_file give_help need_arg parse_args 

zipindex.pl 2005/11/30 02:00:32 3,186
# AIM: To read the INPUT directory, and generate a HTML file
# to allow down load of all the ZIPS files found there ...
sub add_htm_head add_htm_tail process_dir 

zipindex02.pl 2007/01/27 13:38:06 8,553
# AIM: To read the INPUT directory, and generate a HTML file
# to allow down load of all the ZIPS files found there ...
# 20070127 - fix for get_nn only
use strict; Digest::MD5 qw(md5 md5_hex md5_base64); File::stat; 
sub add_htm_head add_htm_tail process_dir YYYYMMDD dos_2_unix subactdir mycmp_ascend mycmp_decend get_nn 

zipindex03.pl 2008/05/27 16:32:32 42,369
# AIM: To read the INPUT directory, and generate a HTML file - a zip index -
# to allow down load of all the ZIPS files found there ...
# 21/04/2008 - Add a $very_simple flag to do JUST the zip list, w/o javascript
# 08/01/2008 - Put the information javascript into an external file
# 19/08/2007 - Make more general than 'my' source zips, with $add_desc, $msvc_list, and
# add $add_mo_2 to do onmouseover on (reversed) alphabetic list.
# 09/06/2007 - update: either remote (depreciated) or local linking
# Also generates a javascript for showing all the files in the zip
# Description may have to be added for NEW items, but existing items,
# the description will come from zipdesc.txt ...
# and a zipexclude.txt for excluded files ...
# 20070127 - Add generation of a 'remote' index, similar to the 'local' index,
# except all the links refer back to macpcfirstaid.com/zips site ... enable $writefil2,
# and set $def_html2 and $remlink (depreciated)
# and fixed get_nn() ...
# NOTE WELL: the sub get_zip_text($zipfile) uses MY PERSONAL zip8.bat to get CONTENTS
# NOTE WELL: This is MY zip listing BAT file, using the WINZIP
# NOTE WELL: command line interface. THIS MUST BE ADJUSTED TO GET EQUIVALENT RESULTS!!!
# geoff mclane - http://geoffair.net - 27 January, 2007
use strict; Digest::MD5 qw(md5 md5_hex md5_base64); File::stat; File::Basename; 
sub get_mo_from_dir_objs find_refs get_href_ref_string post_processing write_html get_index_text add_index_link add_htm_head get_nbsp_text add_htm_tail add_htm_table2 process_ref_dir process_dir YYYYMMDD dos_2_unix subactdir subhtmdir mycmp_ascend mycmp_decend get_nn get_zip_txt next_js_file in_added add_js_script my_file_title show_descriptions get_description in_excluded in_desclist get_desc_txt get_zip_list get_zip_file_list get_relative_path next_filename_num check_filename my_file_name 

zipindex04.pl 2011/11/07 22:08:06 28,380
# AIM: Given a folder, prepare a HTML table of zips, Date Link Size MD5
# This is a COMPLETE REWRITE of zipindex03.pl...
# 07/11/2011 - Include links for files like fgfs-data-03.zip.txt, if contains a MD5 string
# 05/11/2011 - Fix zip count in output HTLM, and ADD alphabetic list option (nocase)
# 25/04/2011 - Remove 'Not zip [' to $dbg_01
# 22/05/2010 - add ???
# 04/05/2010 geoff mclane http://geoffair.net/mperl
use strict; warnings; File::Basename; Cwd; Digest::MD5 qw(md5 md5_hex md5_base64); File::stat; Time::Local; 
sub VERB1 VERB2 VERB5 VERB9 process_dir prtw show_warnings pgm_exit u2d d2u sub_common_folder_dos sub_in_folder add_2_files_found seek_image_path check_in_directory is_zip_ext is_html_ext is_txt_ext is_zip_file is_html_file YYYYMMDD get_nn mycmp_decend_n8 mycmp_decend_n7 get_html_table_stg is_in_excluded datetime_to_seconds is_zip_text_file process_files_found get_head_html get_tail_html get_table_begin get_top_text get_valid_text mycmp_decend_n0 get_alphabetic_table write_html give_help need_arg parse_args 

ziplist.pl 2012/03/29 14:20:50 12,338
# AIM: Given a FOLDER, prepare a zip-list file, listing all ready for ZIPPING,
# but excluding certain files, per options
# 29/03/2012 - Initial cut
use strict; warnings; File::Basename; File::stat; Cwd; 
sub scan_directory VERB1 VERB2 VERB5 VERB9 show_warnings pgm_exit prtw get_ex_stg has_excluded_ext is_excluded_file is_temp_file in_excluded_dir remove_base_path remove_base_dir process_in_file need_arg parse_args give_help 

List of 989 perl files as at 2014/07/21, generated by perl-list.pl
