09-15-2017
map is confusing because it's actually a kind of loop. $1 is the bracketed part of /(.*)\// in this context.
The whole thing means, "For each item in @ARGV[N], do { /(.*)\//; output[N]=$1 }"
Then the whole thing is crammed into a "join" which returns them tab-separated.
I have no idea why it removes the ".trim", the .*\/ is a regex meaning "several of any character, followed by a forward slash". It just stops at the last forward slash in the string ( not the first, because of greedy matching. )
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hello ,
Please can someone tell me what exactly happens when the below filehandler is chomped into an array and later mapped.
$lcpLog="logcopy\@".getTimestamp."\log";
open CFg ,"< $lcpcfg";
chomp(@cfg = <CFG>);
close CFG;
@cfg=grep { $_ ne ' ' } map { lc + (split /\s*\/\//) }... (0 Replies)
Discussion started by: rmv
0 Replies
2. Shell Programming and Scripting
There is a function called start:
start()
{
echo -n $"Sending Startup Email: "
echo "${RESTARTBODY}" | mutt -s "${RESTARTSUBJECT}" ${EMAIL}
RETVAL=$?
if ; then
touch ${LOCKFILE}
success
else
failure
fi
echo
return ${RETVAL}
}
Can anyone explain what the bold part of the... (3 Replies)
Discussion started by: proactiveaditya
3 Replies
3. Shell Programming and Scripting
Hi guys,
I'm trying to learn grep and map and having a little problem.
Let's say I have a file which contains:
Apple: abcdcabdadddbac
I want to replace any combinations of three of abcd, thus when I do this:
print grep {s/{3}/X/g} <F>; # will do the subtitution fine, output XXXX
... (1 Reply)
Discussion started by: new bie
1 Replies
4. Shell Programming and Scripting
Hi,
I have 2 arrays:
@names=qw(amith veena chaitra);
@files=qw(file.txt file1.txt file3.txt);
There is one to one relationship between names and files.
There needs to be mapping created between names and files.
The output should be like this:
amith --> file.txt
veena --->... (3 Replies)
Discussion started by: vanitham
3 Replies
5. Shell Programming and Scripting
Well, I found myself trying to fix some Perl code (Ive never done any Perl in my life) and I pinpointed the place where the bug could be. But to be sure I have to know what does a few line of code mean:
$files_lim =~ (/^\d*$/)
$files_lim =~ (/^\d*h$/)
$files_age =~ s/h//
The code where... (2 Replies)
Discussion started by: RedSpyder
2 Replies
6. Shell Programming and Scripting
Hi all,
I am trying to build threads which will go to localhost and list the files in given folder.
#!/usr/bin/perl
use threads;
my $t1 = threads->new(\&sub1, 1);
my $t2 = threads->new(\&sub2, 2);
push(@threads,$t1);
push(@threads,$t2);
foreach... (5 Replies)
Discussion started by: PranavEcstasy
5 Replies
7. Shell Programming and Scripting
Hello All,
I am writing the below script where it will connect to database and returns the results.
#!/sw/gcm/perl510/bin/perl
use SybaseC;
&openConnection;
&loadvalues;
sub openConnection {
$dbproc = new SybaseC(SYDB}, $ENV{DBDFLTUSR}, $ENV{DBDFLTPWD});
if... (2 Replies)
Discussion started by: filter
2 Replies
8. Shell Programming and Scripting
Hello,
I recently started going in depth with the shell, so I started learning from Linux Shell Scripting CookBook, 2nd edition. I am at the first chapter atm, and the author tells to define a function in the ~/.bashrc.
The function is below.
prepend() { && eval $1=\"$2':'\$$1\" && export... (1 Reply)
Discussion started by: Vaseer
1 Replies
9. Shell Programming and Scripting
I have a file like
file.
file.TODAY.THISYEAR
file.TODAY.LASTYEARI want to substitute the words in caps with their actual values so that output should look like
file.140805
file.140805.2014
file.140805.2013For this I am reading the file line bye line in an array and using multiple map... (1 Reply)
Discussion started by: sam05121988
1 Replies
10. Shell Programming and Scripting
I have this code
#!/bin/bash
LZ () {
RETVAL="\n$(date +%Y-%m-%d_%H-%M-%S) --- "
return RETVAL
}
echo -e $LZ"Test"
sleep 3
echo -e $LZ"Test"
which I want to use to make logentrys on my NAS. I expect of this code that there would be output like
2017-03-07_11-00-00 --- Test (4 Replies)
Discussion started by: matrois
4 Replies
LEARN ABOUT CENTOS
xml::libxml::nodelist
XML::LibXML::NodeList(3) User Contributed Perl Documentation XML::LibXML::NodeList(3)
NAME
XML::LibXML::NodeList - a list of XML document nodes
DESCRIPTION
An XML::LibXML::NodeList object contains an ordered list of nodes, as detailed by the W3C DOM documentation of Node Lists.
SYNOPSIS
my $results = $dom->findnodes('//somepath');
foreach my $context ($results->get_nodelist) {
my $newresults = $context->findnodes('./other/element');
...
}
API
new(@nodes)
You will almost never have to create a new NodeList object, as it is all done for you by XPath.
get_nodelist()
Returns a list of nodes, the contents of the node list, as a perl list.
string_value()
Returns the string-value of the first node in the list. See the XPath specification for what "string-value" means.
to_literal()
Returns the concatenation of all the string-values of all the nodes in the list.
get_node($pos)
Returns the node at $pos. The node position in XPath is based at 1, not 0.
size()
Returns the number of nodes in the NodeList.
pop()
Equivalent to perl's pop function.
push(@nodes)
Equivalent to perl's push function.
append($nodelist)
Given a nodelist, appends the list of nodes in $nodelist to the end of the current list.
shift()
Equivalent to perl's shift function.
unshift(@nodes)
Equivalent to perl's unshift function.
prepend($nodelist)
Given a nodelist, prepends the list of nodes in $nodelist to the front of the current list.
map($coderef)
Equivalent to perl's map function.
grep($coderef)
Equivalent to perl's grep function.
sort($coderef)
Equivalent to perl's sort function.
Caveat: Perl's magic $a and $b variables are not available in $coderef. Instead the two terms are passed to the coderef as arguments.
reverse()
Equivalent to perl's reverse function.
foreach($coderef)
Inspired by perl's foreach loop. Executes the coderef on each item in the list. Similar to "map", but instead of returning the list of
values returned by $coderef, returns the original NodeList.
reduce($coderef, $init)
Equivalent to List::Util's reduce function. $init is optional and provides an initial value for the reduction.
Caveat: Perl's magic $a and $b variables are not available in $coderef. Instead the two terms are passed to the coderef as arguments.
perl v5.16.3 2013-05-13 XML::LibXML::NodeList(3)