Sponsored Content
Full Discussion: Shift Question (Perl)
Top Forums Shell Programming and Scripting Shift Question (Perl) Post 302275572 by summer_cherry on Sunday 11th of January 2009 08:00:10 AM
Old 01-11-2009
amend below %hash accordingly should help you some.

Code:
%hash=(Jan,"01",Jul,"07",UC,"Union City");
open FH,"<a.txt";
while(<FH>){
	@arr=split("-",$_);
	$arr[0]= ($hash{$arr[0]})?$hash{$arr[0]}:ucfirst($arr[0]);
	$arr[2]= $hash{substr($arr[2],0,3)};
	print join "-",@arr;
}

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

shift command

There is an error when i am trying to use the shift command in this way: ($1 = -d, $2 = 123, $3 = -c etc etc) for $arg in $@ do case $arg in "-d") shift; (so that the $2 will become the $arg now) (and while it loop the 2nd time,) ... (1 Reply)
Discussion started by: AkumaTay
1 Replies

2. Shell Programming and Scripting

shift command

Hi Folks, In shell scripting the maximum no. of command line parameters becomes 9(Am i right). If we want to get more than 9 parameters we use the shift command. Even here there are two possibilities. 1. Without the use of variables - The arguments are lost and the lost no. is equal to the... (6 Replies)
Discussion started by: Nisha
6 Replies

3. Shell Programming and Scripting

Regarding the shift command???

I am running a program where in I have this command which is giving error the shift: number is not correct. can you please tell me how shift actually works? the line which is giving error is- set $PARAM; shift; shift; shift; shift; shift; shift; shift; shift Is it related somewhere to... (2 Replies)
Discussion started by: shrao
2 Replies

4. Shell Programming and Scripting

shift and push question in perl

hi, another perl question, I don't understand the below while (<FILE>) { push @last5, $_; #add to the end shift @last5 if @last5 > 5 ; #take from the beginning } can someone please explain to me how does shift @last5 if @last5 > 5 is taking last 5 lines from... (5 Replies)
Discussion started by: hankooknara
5 Replies

5. UNIX for Dummies Questions & Answers

shift not working

Hi, I wrote one script, in between script needs to use 10th and 11th positional parameters, that time i used "shift". Here i am facing the below find problem, ./DataCount.sh: cannot shift I tried 1) I have read man pages for shift 2) Before but * and ** 3) Simple shift with out giving... (4 Replies)
Discussion started by: Nagapandi
4 Replies

6. Shell Programming and Scripting

script assistance with shift J

Hey all, I need some assistance. I'm writing a script to eject tapes from a tape library, but the library is not a queued system and can only eject 15 tapes at a time. I added paste -d : -s so that it goes through full_tapes and puts each media_id on one line separated by the :. Now I'm... (2 Replies)
Discussion started by: em23
2 Replies

7. UNIX for Dummies Questions & Answers

A Shift into UNIX

Hi, Firstly, I did a search for this question both on this site and on the internet and have not been able to find a suitable answer that is not general in nature. I have always been a Windows user. I use my girl friend's mac every now and then, but I always come back to windows. For a... (1 Reply)
Discussion started by: mearex
1 Replies

8. Shell Programming and Scripting

Use of Shift command

Hello Expert Can any one please explain what is the use of shift command in general terms: set -- $(ls -t) shift rm -Rf $* what is the use of shift command over here. Thanks a lot for your help (2 Replies)
Discussion started by: aks_1902
2 Replies

9. Homework & Coursework Questions

Need help with a Perl Script using Pop, Shift, & Push

Hello everyone, I am new to Perl and I am having some issues getting a script to work. I have to create a script that uses an array of 52 cards, "shuffles" the cards (using loops with the pop, shift, and push commands), and prints out the top five. This is not a randomizing of the array just a... (2 Replies)
Discussion started by: Hax0rc1ph3r
2 Replies

10. Shell Programming and Scripting

Shift command help

#!/bin/bash hostname=$1; shift for hostname in $1 do ping $hostname done I want to run the above script as hostname.sh yahoo.com google.com cnn.com. I want to shift each hostname to $1. How can do that with above code as currently it's not shifting. (5 Replies)
Discussion started by: scj2012
5 Replies
Hash::WithDefaults(3pm) 				User Contributed Perl Documentation				   Hash::WithDefaults(3pm)

NAME
Hash::WithDefaults - class for hashes with key-casing requirements supporting defaults version 0.05 SYNOPSIS
use Hash::WithDefaults; %main = ( ... ); tie %h1, 'Hash::WithDefaults', {...}; tied(%h1)->AddDefault(\%main); tie %h2, 'Hash::WithDefaults', [...]; tied(%h2)->AddDefault(\%main); # now if you use $h1{$key}, the value is looked up first # in %h1, then in %main. DESCRIPTION
This module implements hashes that support "defaults". That is you may specify several more hashes in which the data will be looked up in case it is not found in the current hash. Object creation tie %hash, 'Hash::WithDefault', [$case_option], [\%values]; tie %hash, 'Hash::WithDefault', [$case_option], [@values]; tie %hash, 'Hash::WithDefault', [$case_option], [%values]; The optional $case_option may be one of these values: Sensitive - the hash will be case sensitive Tolower - the hash will be case sensitive, all keys are made lowercase Toupper - the hash will be case sensitive, all keys are made uppercase Preserve - the hash will be case insensitive, the case is preserved Lower - the hash will be case insensitive, all keys are made lowercase Upper - the hash will be case insensitive, all keys are made uppercase If you pass a hash or array reference or an even list of keys and values to the tie() function, those keys and values will be COPIED to the resulting magical hash! After you tie() the hash, you use it just like any other hash. Functions AddDefault tied(%hash)->AddDefault(\%defaults); This instructs the object to include the %defaults in the search for values. After this the value will be looked up first in %hash itself and then in %defaults. You may keep modifying the %defaults and your changes WILL be visible through %hash! You may add as many defaults to one Hash::WithDefaults object as you like, they will be searched in the order you add them. If you delete a key from the tied hash, it's only deleted from the list of specific keys, the defaults are never modified through the tied hash. This means that you may get a default value for a key after you deletethe key from the tied hash! GetDefaults $defaults = tied(%hash)->GetDefaults(); push @$defaults, \%another_default; Returns a reference to the array that stores the defaults. You may delete or insert hash references into the array, but make sure you NEVER EVER insert anything else than a hash reference into the array! Config::IniHash example use Config::IniHash; $config = ReadIni $inifile, withdefaults => 1, case => 'preserve'; if (exists $config->{':default'}) { my $default = $config->{':default'}; foreach my $section (keys %$config) { next if $section =~ /^:/; tied(%{$config->{$section}})->AddDefault($default) } } And now all normal sections will get the default values from [:default] section ;-) AUTHOR
Jan Krynicky <Jenda@Krynicky.cz> http://Jenda.Krynicky.cz COPYRIGHT
Copyright (c) 2002-2009 Jan Krynicky <Jenda@Krynicky.cz>. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.14.2 2012-05-26 Hash::WithDefaults(3pm)
All times are GMT -4. The time now is 01:29 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy