Mercurial > repos > deepakjadmin > mayatool3_test2
diff docs/modules/txt/TextUtil.txt @ 0:4816e4a8ae95 draft default tip
Uploaded
author | deepakjadmin |
---|---|
date | Wed, 20 Jan 2016 09:23:18 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/modules/txt/TextUtil.txt Wed Jan 20 09:23:18 2016 -0500 @@ -0,0 +1,201 @@ +NAME + TextUtil + +SYNOPSIS + use TextUtil; + + use TextUtil qw(:all); + +DESCRIPTION + TextUtil module provides the following functions: + + AddNumberSuffix, ContainsWhiteSpaces, GetTextFileDataByNonUniqueKey, + GetTextFileDataByUniqueKey, GetTextLine, HashCode, IsEmpty, IsFloat, + IsInteger, IsNotEmpty, IsNumberPowerOfNumber, IsNumerical, + IsPositiveInteger, JoinWords, QuoteAWord, + RemoveLeadingAndTrailingWhiteSpaces, RemoveLeadingWhiteSpaces, + RemoveTrailingWhiteSpaces, SplitWords, WrapText + +FUNCTIONS + AddNumberSuffix + $NumberWithSuffix = AddNumberSuffix($IntegerValue); + + Returns number with appropriate suffix: 0, 1st, 2nd, 3rd, 4th, and + so on. + + ContainsWhiteSpaces + $Status = ContainsWhiteSpaces($TheString); + + Returns 1 or 0 based on whether the string contains any white + spaces. + + GetTextLine + $Line = GetTextLine(\*TEXTFILE); + + Reads next line from an already opened text file, takes out any + carriage return, and returns it as a string. NULL is returned for + EOF. + + GetTextFileDataByNonUniqueKey + GetTextFileDataByNonUniqueKey($TextDataFile, $TextDataMapRef, + $DataKeyColNum, $InDelim); + + Load data from a text file into the specified hash reference using a + specific column for non-unique data key values. + + The lines starting with # are treated as comments and ignored. First + line not starting with # must contain column labels and the number + of columns in all other data rows must match the number of column + labels. + + The first column is assumed to contain data key value by default; + all other columns contain data as indicated in their column labels. + + In order to avoid dependence of data access on the specified column + labels, the column data is loaded into hash with Column<Num> hash + keys, where column number start from 1. The data key column is not + available as Colnum<Num> hash key; + + The format of the data structure loaded into a specified hash + reference is: + + @{$TextDataMapRef->{DataKeys}} - Array of unique data keys + @{$TextDataMapRef->{ColLabels}} - Array of column labels + @{$TextDataMapRef->{DataColIDs}} - Array of data column IDs + $TextDataMapRef->{NumOfCols} - Number of columns + %{$TextDataMapRef->{DataKey}} - Hash keys pair: <DataKey, DataKey> + @{$TextDataMapRef->{DataCol<Num>}} - Hash keys pair with data as an array: + <DataCol<Num>, DataKey> + + GetTextFileDataByUniqueKey + GetTextFileDataByUniqueKey($TextDataFile, $TextDataMapRef, $DataKeyColNum, + $InDelim); + + Load data from a text file into the specified hash reference using a + a specific column for unique data key values. + + The lines starting with # are treated as comments and ignored. First + line not starting with # must contain column labels and the number + of columns in all other data rows must match the number of column + labels. + + The first column is assumed to contain data key value by default; + all other columns contain data as indicated in their column labels. + + In order to avoid dependence of data access on the specified column + labels, the column data is loaded into hash with Column<Num> hash + keys, where column number start from 1. The data key column is not + available as Colnum<Num> hash key; + + The format of the data structure loaded into a specified hash + reference is: + + @{$TextDataMapRef->{DataKeys}} - Array of unique data keys + @{$TextDataMapRef->{ColLabels}} - Array of column labels + @{$TextDataMapRef->{DataColIDs}} - Array of data column IDs + $TextDataMapRef->{NumOfCols} - Number of columns + %{$TextDataMapRef->{DataKey}} - Hash keys pair: <DataKey, DataKey> + %{$TextDataMapRef->{DataCol<Num>}} - Hash keys pair: <DataCol<Num>, DataKey> + + HashCode + $HashCode = HashCode($TheString); + + Returns a 32 bit integer hash code using One-at-a-time algorithm By + Bob Jenkins [Ref 38]. It's also implemented in Perl for internal + hash keys in hv.h include file. + + IsEmpty + $Status = IsEmpty($TheString); + + Returns 1 or 0 based on whether the string is empty. + + IsInteger + $Status = IsInteger($TheString); + + Returns 1 or 0 based on whether the string is a positive integer. + + IsPositiveInteger + $Status = IsPositiveInteger($TheString); + + Returns 1 or 0 based on whether the string is an integer. + + IsFloat + $Status = IsFloat($TheString); + + Returns 1 or 0 based on whether the string is a float. + + IsNotEmpty + $Status = IsNotEmpty($TheString); + + Returns 0 or 1 based on whether the string is empty. + + IsNumerical + $Status = IsNumerical($TheString); + + Returns 1 or 0 based on whether the string is a number. + + IsNumberPowerOfNumber + $Status = IsNumberPowerOfNumber($FirstNum, $SecondNum); + + Returns 1 or 0 based on whether the first number is a power of + second number. + + JoinWords + $JoinedWords = JoinWords($Words, $Delim, $Quote); + + Joins different words using delimiter and quote parameters, and + returns it as a string. + + QuoteAWord + $QuotedWord = QuoteAWord($Word, $Quote); + + Returns a quoted string based on *Quote* value. + + RemoveLeadingWhiteSpaces + $OutString = RemoveLeadingWhiteSpaces($InString); + + Returns a string without any leading and traling white spaces. + + RemoveTrailingWhiteSpaces + $OutString = RemoveTrailingWhiteSpaces($InString); + + Returns a string without any trailing white spaces. + + RemoveLeadingAndTrailingWhiteSpaces + $OutString = RemoveLeadingAndTrailingWhiteSpaces($InString); + + Returns a string without any leading and traling white spaces. + + SplitWords + @Words = SplitWords($Line, $Delimiter); + + Returns an array *Words* ontaining unquoted words generated after + spliting string value *Line* containing quoted or unquoted words. + + This function is used to split strings generated by JoinWords as + replacement for Perl's core module funtion + Text::ParseWords::quotewords() which dumps core on very long + strings. + + WrapText + $OutString = WrapText($InString, [$WrapLength, $WrapDelimiter]); + + Returns a wrapped string. By default, *WrapLenght* is *40* and + *WrapDelimiter* is Unix new line character. + +AUTHOR + Manish Sud <msud@san.rr.com> + +SEE ALSO + FileUtil.pm + +COPYRIGHT + Copyright (C) 2015 Manish Sud. All rights reserved. + + This file is part of MayaChemTools. + + MayaChemTools is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 3 of the License, or (at + your option) any later version. +