Sponsored Content
Full Discussion: Need help with Perl
Top Forums Shell Programming and Scripting Need help with Perl Post 302350744 by faiz1985 on Saturday 5th of September 2009 01:45:13 AM
Old 09-05-2009
Need help with Perl

Dear friends,
I am trying to separate records from a file, search a pattern and print the record having the pattern. I was able to come up with the following code:

Code:
#/bin/perl
$a="
<L:RECORD>name=fai far,age=21,
company=Company ABC,project=BT App
</L:RECORD>
<L:RECORD>name=abc xyz,age=22,company=Inf Typ Tech,project=AT</L:RECORD>
<L:RECORD>name=uresh kum,
age=20,company=TC LTD,project=VGP</L:RECORD>
<L:RECORD>name=mah laxmi,age=23,company=Tata Co,project=JP MS</L:RECORD>
";
@a=split(/L:RECORD\>/,$a);
print "Enter Search Pattern: ";
$searchPattern=<>;
chomp($searchPattern);
foreach $i (@a) {
    if($i=~m/$searchPattern/) {
    print "$i\n";
    }
}

This works perfectly fine, but as you can see, the input is hardcoded($a). Now supposing I want to read the same input from a file and come up with the same results as the above script, how do I do it? I have tried using some filehandling, but unable to succeed Smilie. Anyone help out please!!
Thanks in advance for the help Smilie
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

[Perl] Accessing array elements within a sed command in Perl script

I am trying to use a script to replace the header of each file, whose filename are stored within the array $test, using the sed command within a Perl script as follows: $count = 0; while ( $count < $#test ) { `sed -e 's/BIOGRF 321/BIOGRF 332/g' ${test} > 0`; `cat 0 >... (2 Replies)
Discussion started by: userix
2 Replies

2. Shell Programming and Scripting

Passing date formats in Perl: i.e. Jul/10/2007 -> 20070710 (yyyymmdd) - Perl

Hi , This script working for fine if pass script-name.sh Jul/10/2007 ,I want to pass 20070710(yyyymmdd) .Please any help it should be appereciated. use Time::Local; my $d = $ARGV; my $t = $ARGV; my $m = ""; @d = split /\//, $d; @t = split /:/, $t; if ( $d eq "Jan" ) { $m = 0 }... (7 Replies)
Discussion started by: akil
7 Replies

3. Shell Programming and Scripting

perl/unix: script in command line works but not in perl

so in unix this command works works and shows me a list of directories find . -name \*.xls -exec dirname {} \; | sort -u | > list.txt but when i try running a perl script to run this command my $query = 'find . -name \*.xls -exec dirname {} \; | sort -u | > list.txt';... (2 Replies)
Discussion started by: kpddong
2 Replies

4. Shell Programming and Scripting

Perl :How to print the o/p of a Perl script on console and redirecting same in log file @ same time.

How can i print the output of a perl script on a unix console and redirect the same in a log file under same directory simultaneously ? Like in Shell script, we use tee, is there anything in Perl or any other option ? (2 Replies)
Discussion started by: butterfly20
2 Replies

5. Shell Programming and Scripting

Hidden Characters in Regular Expression Matching Perl - Perl Newbie

I am completely new to perl programming. My father is helping me learn said programming language. However, I am stuck on one of the assignments he has given me, and I can't find very much help with it via google, either because I have a tiny attention span, or because I can be very very dense. ... (4 Replies)
Discussion started by: kittyluva2
4 Replies

6. Shell Programming and Scripting

HELP on Perl array / sorting - trying to convert Korn Shell Script to Perl

Hi all, Not sure if this should be in the programming forum, but I believe it will get more response under the Shell Programming and Scripting FORUM. Am trying to write a customized df script in Perl and need some help with regards to using arrays and file handlers. At the moment am... (3 Replies)
Discussion started by: newbie_01
3 Replies

7. UNIX for Advanced & Expert Users

perl and HP-UX : instmodsh in combination with software depot : update inventory for installed Perl

we create a HP-UX software depot with a new perl-modul. after installation of the software depot, the perl module i can't find with instmodsh in the inventory for installed Perl modules. - i have learned of using instmodsh command : i find out what modules are already installed on my system. ... (0 Replies)
Discussion started by: bora99
0 Replies

8. Shell Programming and Scripting

Perl :: reading values from Data Dumper reference in Perl

Hi all, I have written a perl code and stored the data into Data structure using Data::Dumper module. But not sure how to retreive the data from the Data::Dumper. Eg. Based on the key value( Here CRYPTO-6-IKMP_MODE_FAILURE I should be able to access the internal hash elements(keys) ... (1 Reply)
Discussion started by: scriptscript
1 Replies

9. Programming

Perl: restrict perl from automaticaly creating a hash branches on check

My issue is that the perl script (as I have done it so far) created empty branches when I try to check some branches on existence. I am using multydimentional hashes: found it as the best way for information that I need to handle. Saing multidimentional I means hash of hashes ... So, I have ... (2 Replies)
Discussion started by: alex_5161
2 Replies

10. Programming

PERL: In a perl-scripttTrying to execute another perl-script that SETS SOME VARIABLES !

I have reviewed many examples on-line about running another process (either PERL or shell command or a program), but do not find any usefull for my needs way. (Reviewed and not useful the system(), 'back ticks', exec() and open()) I would like to run another PERL-script from first one, not... (1 Reply)
Discussion started by: alex_5161
1 Replies
LedgerSMB::ScriptLib::Company(3pm)			User Contributed Perl Documentation			LedgerSMB::ScriptLib::Company(3pm)

NAME
LedgerSMB::ScriptLib::Company - LedgerSMB class defining the Controller functions, template instantiation and rendering for vendor and customer editing and display. This would also form the basis for other forms of company contacts. SYOPSIS
This module is the UI controller for the vendor DB access; it provides the View interface, as well as defines the Save vendor. Save vendor/customer will update or create as needed. METHODS
set_entity_class($request) returns int entity class Errors if not inherited. Inheriting classes MUST define this to set $entity_class appropriately. get_by_cc Populates the company area with info on the company, pulled up through the control code dispatch_legacy This is a semi-private method which interfaces with the old code. Note that as long as any other functions use this, the contact interface cannot be said to be safe for code caching. Not fully documented because this will go away as soon as possible. add_transaction Dispatches to the Add (AR or AP as appropriate) transaction screen. add_invoice Dispatches to the (sales or vendor, as appropriate) invoice screen. add_order Dispatches to the sales/purchase order screen. rfq Dispatches to the quotation/rfq screen new_company($request) returns object inheriting LedgerSMB::DBObject::Company This too must be defined in classes that inherit this class. get($self, $request, $user) Requires form var: id Extracts a single company from the database, using its company ID as the primary point of uniqueness. Shows (appropriate to user privileges) and allows editing of the company information. add_location Adds a location to the company as defined in the inherited object save_new_location Adds a location to the company as defined in the inherited object, not overwriting existing locations. generate_control_code Sets $company->{control_code} equal to the next in the series of entity_control values add This method creates a blank screen for entering a company's information. get_results($self, $request, $user) Requires form var: search_pattern Directly calls the database function search, and returns a set of all vendors found that match the search parameters. Search parameters search over address as well as vendor/Company name. history($request) Generates the filter screen for the customer/vendor history report. display_history($request) Displays the customer/vendor history based on criteria from the history filter screen. The following request variables are optionally set in the HTTP query string or request object. Search Criteria name: search string for company name contact_info: Search string for contact info, can match phone, fax, or email. salesperson: Search string for employee name in the salesperson field notes: Notes search. Not currently implemented meta_number: Exact match for customer/vendor number address_line: Search string for first or second line of address. city: Search string for city name state: Case insensitive, otherwise exact match for state or province zip: leading match for zip/mail code country_id: integer for country id. Exact match tartdate_from: Earliest date for startdate of entity credit account startdate_to: Lates date for entity credit accounts' start date type: either 'i' for invoice, 'o' for orders, 'q' for quotations from_date: Earliest date for the invoice/order to_date: Latest date for the invoice/order Unless otherwise noted, partial matches are sufficient. Control variables: inc_open: Include open invoices/orders. If not true, no open invoices are displayed inc_closed: Include closed invoices/orders. If not true, no closed invoices are displayed report_type: Either summary or detail Columns to display: l_partnumber: parts.partnumber l_sellprice: invoice/orderitems.sellprice l_curr: ar/ap/oe.curr l_unit: invoice/orderitems.unit l_deliverydate: invoice.deliverydate or orderitems.reqdate l_projectnumber: project.projectnumber l_serialnumber: invoice/orderitems.serialnumber csv_company_list($request) Generates CSV report (not working at present) save($self, $request, $user) Saves a company to the database. The function will update or insert a new company as needed, and will generate a new Company ID for the company if needed. save_credit($request) This inserts or updates a credit account of the sort listed here. save_credit_new($request) This inserts a new credit account. edit($request) Displays a company for editing. Needs the following to be set: entity_id, account_class, and meta_number. The account_class requireent is typically set during the construction of scripts which inherit this library. PRIVATE _render_main_screen($company) Pulls relevant data from db and renders the data entry screen for it. search($request) Renders the search criteria screen. save_contact($request) Saves contact info as per LedgerSMB::DBObject::Company::save_contact. delete_contact Deletes the selected contact info record Must include company_id or credit_id (credit_id used if both are provided) plus: * contact_class_id * contact * form_id delete_bank_acct Deletes the selected bank account record Required request variables: * bank_account_id * entity_id * form_id delete_location Deletes the selected contact info record Must include company_id or credit_id (credit_id used if both are provided) plus: * location_class_id * location_id * form_id edit_bank_acct($request) displays screen to a bank account Required data: bank_account_id bic iban save_contact_new($request) Saves contact info as a new line as per save_contact above. save_bank_account($request) Adds a bank account to a company and, if defined, an entity credit account. save_notes($request) Saves notes. entity_id or credit_id must be set, as must note_class, note, and subject. pricelist This returns and displays the pricelist. The id field is required. delete_price save_pricelist This routine saves the price matrix. For existing rows, valid_to, valid_from, price fields are saved. For the new row, the partnumber field matches the beginning of the part number, and the description is a full text search. pricelist_search_handle Handles the return from the parts search from the pricelist screen. COPYRIGHT
Copyright (c) 2009, the LedgerSMB Core Team. This is licensed under the GNU General Public License, version 2, or at your option any later version. Please see the accompanying License.txt for more information. perl v5.14.2 2012-03-28 LedgerSMB::ScriptLib::Company(3pm)
All times are GMT -4. The time now is 10:48 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy